ISIS-488: facet factory for JDO @Column annotation

- MandatoryDerivedFromJdoColumnAnnotationFacetFactory
- refactored the MandatoryFacetAbstract hierarchy
- check for incompatibilities between Isis' and JDO's default treatments of nullable fields.
- new @Mandatory annotation
- fixes to Isis provided JDO entities (PublishedEvent, ApplicationSettingJdo, UserSettingJdo).

Also:
- trivial refactorings to BigDecimalDerivedFromJdoColumnAnnotationFacetFactory (from whence cloned)
- fix to LayoutMetadataJsonReader unit test
replaced snapshot dependencies in core root pom
ISIS-490: switching from log4j to slf4j

- introduced new isis-core-log4j module to hold the log4j-specific stuff
- still configured to bind log via log4j underneath.

in addition:
- Added oscar Bou as committer.
making ShiroAuthenticatorOrAuthorizor#getRoles protected...

... to enable possible overriding by custom impls
ISIS-468: collection columns now ordered correctly

These were being ordered with the group names alphabetically, rather than with respect to the MemberGroupLayoutFacet.
ISIS-490: removing dependencies on common-logging

... where possible (used by some 3rd party dependencies, however)
ISIS-51, ISIS-495: removing dependencies on Apache commons

- commons-lang (except in Scimpi)
- commons-collections
ISIS-495: further minor tidy up of dependencies

* removed unused org.codehaus.jettison
* removed crimson:crimson
ISIS-497: contributed associations.