Resolves #36 : Map handling for int keys is broken

Key encoding/decoding is handled differently from other values. Ints are now encoded as strings.
As a bonus, keys are now restricted to int and string types as that's all that PHP can cope with.

Resolves #36 : Map handling for int keys is broken

Added test case to show map handling is correct.
Switch to using the psr3 logger interface.
Moving towards injecting dependencies rather than trying to set things up in constructors.
Moving towards injecting dependencies rather than trying to set things up in constructors.
Added sample bounce config.
Fixed various inspection warnings.
Resolves #35 Allow use of "is*" methods for boolean property getters without phaff

Any method can now be annotated as a property. if the name starts with get or is the default property name becomes the method name with that prefix stripped. Otherwise the default name is the method name.

Made it possible to test the ClassAnnotationDriver.
Added a bunch of toString methods to make life simpler when testing.
Updated schema locations now that they're on the moo web site.
Merge remote-tracking branch 'origin/topic/factories' into topic/factories

Conflicts:
	lib/Weasel/JsonMarshaller/JsonMapper.php