Expanded configuration such that:

  * GraphDatabaseSetting instances are now responsible for converting raw string
    properties to higher level types.

  * Config has a single get() method, all specialized get methods are deprecated.

  * Migration of old configuration can be specified in each Settings class,
    and is picked up and applied by the Config class.

  * Defaults are handled by the Config class itself.

  * Config is now instantiated in the constructor of AGD, to allow it to act as
    single source of truth for store directory et cetera.
Added Migrator class for config changes that only change the name of a property.
Configuration validation is now done each time new configuration changes are applied.
Improved error messages on invalid configuration, fixed error in AnnotatedFieldHarverster.
Fixes to failing tests.
Cleanup of the Neo4j Server, preparing for configuration and logging refactoring.

This commit:

 * Deprecates specialized methods on WebServer (such as addSecurityFilter and addRequestLimitFilter)
   and replaces them with a single addFilter method. This simplifies for implementors of WebServer.

 * Removes all uses of getJetty(), resealing the abstraction WebServer was meant to provide,
   this prepares the way for other WebServer implementations.

 * Changes the method of generating specialized NeoServer types (Community, Advanced, Enterprise, Wrapping)
   from using factory methods sent into the constructor to using subclassing.

 * Clarifies the distinction between NeoServer and Bootstrapper. NeoServer acts as an assembly class,
   bootstrapper instantiates and starts/stops NeoServer. This change is reflected by the introduction
   of AbstractNeoServer, and the replacement of NeoServerWithEmbeddedWebServer with CommunityNeoServer.

 * Modifies the ServerModule interface such that the interface moves closer to the LifeCycle interface,
   to lead the way for ServerModule eventually extending that.
Added Jetty6WebServer test.
Added test to ensure restarting the web server works.
Modifications to ensure restarting web server works as expected.
Added some TODO markers to remember points to revisit.
Removed #set and #modifyWith methods from Config
adding a boosting expample, suggested by Trey Sandworm at https://groups.google.com/group/neo4j/browse_thread/thread/f9840a0a5aa935d4
adding an example provided by Niko Gamulin on calculating the clustering coefficient for a social network.
typos
better cypher query
Order of "columns" and "data" is now deterministic
Revert "Order of "columns" and "data" is now deterministic"

This reverts commit 4035b4c2c240119f480d5eadbc519c3544401a8b due to
the added test breaking on Windows. Problem being that even though
the serialized properties were added to the writer via a LinkedHashMap
which keeps order it somehow ends up getting fed to
JsonHelper.createJsonFrom as a HashMap.
Merge pull request #595 from peterneubauer/boosting

adding a boosting and cluster coeffiecient calculating example
Order of "columns" and "data" is now really deterministic. CypherResultRepresentation no longer uses ObjectRepresentation, since that is not guaranteed to return deterministic order of methods. JsonFormat has also been changed to use LinkedHashMap, to ensure that iteration order is same as put order
Forces the test to fail if any worker encounter an exception