[LIVEOAK-36] Support traversing URLs with matrix parameters
in the case of ;config, specifically.

This involved reworking the traversing-responder classes, and
actually creating a more-generic TraversalPlan with a series
of Steps, which may be replaced to accomodate upsert semantics.

[LIVEOAK-31] Provide a ConfigurableResource interface which may
be mixed into any other Resource to allow access to a method

	Resource configuration()

which is slurped off when a ;config step is found during
traversal.  The configuration Resource's parent should be set
to that of its parent, and its ID should be exactly ';config'.

This should probably be refactored and cleaned up a tad.
Only use the QueryStringDecoder on the query-string portion of the URI
since it has a bug that breaks all matrix-parameter usage (because
it blindly does a s/;/&/ on the full URI).
Stub in a configuration resource for the scheduler.
[LIVEOAK-5] Allow Resource implementations to throw exceptions for any
action, since the traversing responder will be able to catch and
decide it's at least an internalError.
[LIVEOAK-38] Suppport Map-like values when encoding.
Also, add a more specific exception type for non-encodable values.
Unbreak the build.
* Changed expected exception type without changing the test.
Instead of configuring through initialize(), provide configuration-as-a-resource
which also allows runtime re-configuration of an installed resource.

Slightly messy, but can be cleaned up further.
Add ConfigResource to SPI to provide a common id for all configuration resources across modules
[LIVEOAK-42] Support automagical configuration for resources

Creation of @Configurable and @ConfigProperty to represent whether a Resource contains configuration for reading/updating and which fields are part of automatic configuration handling.

Resource now has a default configuration() method which returns null if the Resource is not annotated with @Configurable. If it is annotated, then we return a ConfigResource that can handle all @ConfigProperty fields for reading/updating.

If a Resource wishes to handle configuration in a non 1:1 mapping of config to field, then they can extend ConfigResource to provide what is needed. It is also possible to mix these modes by annotating some fields with @ConfigProperty and calling super.readConfigProperties() to read them using automatic means, and handle other config directly in implementation.
[LIVEOAK-42] Support automagical configuration of resources

Removed a default string from ConfigProperty.msg(), as ConfigResource can provide a more meaningful default message
[LIVEOAK-42] Support automagical configuration of resources

Remove requirement that RootResource must be annotated with @Configurable if it's not using automagic configuration read/update
[LIVEOAK-42] Support automagical configuration for resources

Add support for a converter to allow conversion to/from the JSON value and an actual object, instead of just a String.
LIVEOAK-3: add in mongo referencing support.
Add an invalid request response for responders to send more types of error messages to clients.
Merge pull request #45 from mwringe/LIVEOAK-3

LIVEOAK-3: add in mongo referencing support.
LIVEOAK-3: remove un-needed dependency on the container which should not have been committed
Merge pull request #46 from mwringe/LIVEOAK-3

LIVEOAK-3: remove un-needed dependency on the container which should not...
* Refactor out a lot of interfaces to SPI from implementations in container.
* Prevent Container from being a catch-all of components
* Use MSC to wire up dependencies between components
* Use MSC to handle more complex lifecycle of Resources
  - instantiate, configure, initialize, register
* Break resource-configuration into a separate file per root-resource
* Allow for ;config updates to reflect back into the underlying file.
* Provide top-level LiveOakSystem providing the basic interfaces used
  by other pieces.  This includes servers, connectors, deployers
  and the container itself.
* Ensure resource-factory registration is concurrently-safe.
* Add DirectConnector to ResourceContext and initialization.
Be concurrent in container resource registration.
Add resources for:

	system
	system/properties
	system/servers
	system/servers/*

* Add a default sub-optimal readMember() that leverages readMembers().
* Comment out test reliant on a class that disappeared.