Added the Interfaces package.
Rationale:
When looking at the Kolab_Session package I realized that
"Horde_Auth::getAuth()" calls have been converted to
"$GLOBALS['registry']->getAuth()". While this may be fine on the
application level I don't think it is acceptable on the level of a
framework package.
"$GLOBALS['registry']->getAuth()" does pretty much the same as
"Horde_Auth::getAuth()" did before and the move of the functionality
into the registry is absolutely fine.
For Kolab_Session this does however mean that the dependency on that
functionality gets further obscured. Something has to setup
$GLOBALS['registry'] before Kolab_Session is called into the mix.
At the same time I think the package would now need to pull in Core as
a dependency which I wouldn't like much either.
I think it is a cleaner solution to provide the Interfaces package. It
can be used to clearly define the communications between Core and the
other framework packages. This also allows to declare the dependencies
in an obvious manner and decouples low level libraries from the BIG
Core thing.