First authenticate, then capture profile desire.

First authenticate the user, then capture the desired profile to the new session,
so that more information is available at the time of profile desire capture.
Refactor : rename and re-argument IProfileSelectionRequestHandler method.

Changes the handler interface to use a handler method,
to take HttpServletRequest rather than Session as argument.

Updates the unit test for SessionAttributeProfileMapperImpl to reflect the API change,
simplifies the test to have less implementation knowledge about where storage is happening in session,
and adjusts the test to use TestDox style method names.
Remove IProfileSelectionService and impl.

IProfileMapper *is* the relevant Service API.
Initial Sticky profile selection progress.

 * Reflects stored profile selection from registry.
Add IPerson argument to profile selection API.
JavaDoc : un-JavaDoc comment on method implementing interface.
Trivial : fix comment typo.
Trivial : remove unused import.
Store sticky profile selections to registry.
Do not store profile selections when impersonating.
Do not annotate JpaProfileSelectionDaoImpl as @Repository.
ChainingProfileMapperImpl broadcasts IProfileSelectionRequestHandler.
Add Hibernate mapping for JpaProfileSelection.
Translate user selection of default key to no selection at all.
Refactor: dao.jpa packaging.
Rename : jpa in package sufficient; drop Jpa name prefix.
ChainingProfileMapperImpl stops implementing IProfileSelectionRequestHandler.
Add ProfileSelectionEvent.
SessionAttributeProfileMapperImpl handles ProfileSelectionEvent.
StickyProfileMapperImpl handles ProfileSelectionEvent.