Introducing Spring Security for authentication and authorisation implementation.

Issue: BMS-58
Initial commit of some common infrastructure classes required for spring security implementation.

Issue: BMS-58
Reviewer: RebeccaB
Updating spring-security version to the latest available in 3.1 series.
Adding context parameter for passing around authentication token.

Issue: BMS-58, BMS-61
Reviewer: RebeccaB
Changing hardcoded Role resolution (spike) to use the user roles introduced in Wokbench schema.

Issue: BMS-62
Reviewer: RebeccaB
Merge: Syncing BMS-33-authentication-authorisation with master.
Making the WorkbenchUserDetailsService more a plain bean style for creation and dependency injection via spring bean xml configuration. This way we don't have to add common package to class path scanning or rely on load time weaving for this bean.
Sync: Merge branch 'master' into 'BMS-33-authentication-authorisation'.
Unit tests for the security infrastructure classes.

Issue: BMS-33
Reviewer: RebeccaB
Minor: Explanation for role prefix.
Changes to encode authentication token (simple Base64 encoded username for the first cut) used for pre-auth scenario.
Updated commons-codec version to 1.10 to use thread safe version of Base64 utility class.

Issue: BMS-61
Reviewer: RebeccaB
Added HTTPSessionUtil class based on Fieldbook.SessionUtil

Todo: Depricate fieldbook version and use this as this is more
testable singleton spring bean version

BMS-69

Reviewer: Daniel Villafuerte
Sync: Merged branch 'master' into 'BMS-33-authentication-authorisation'
Updating spring security to 3.2.x latest.

Issue: BMS-116
Merging branch 'BMS-33-authentication-authorisation' into 'master' so that further development/testing work can be done as part of mainstream.

Issue: BMS-33
Reviewer : RebeccaB