factory: some API improvements

add a few methods to Factory to ease its usage
core: add source location hint in operation description when generating router

This will allow better trackability, and may allow to provide link to sources in api doc
core: add some non standard status codes
Refactored a bit the way appClassName is guessed
Allowing to guess it from "manifest.main.classname" property in md.restx.json file
core: review programmatic API to build a router [BREAKING]

- don't provide it on StdRestxMainRouter directly, but on router, so that it can be used in combination with other routers
- provide API for routes consuming data, making necessary to make MatchedEntityRoute accept an input
- ease the creation of StdEntityRoute with a builder
convert SimpleServerExample into an automated test

This is testing both SimpleWebServer basic usage and new programmatic API
minor: rename test class to match class under test name (StdRestxRequestMatcherTest)
core: add support for new path param definitions

When defining a path pattern, you can now:

- use curly braces to delimit the parameter name. eg "/user/{name}"
- use a custom regex to match the path parameter. eg "/user/{name:[A-Z]{1,3}}
- use column based notation, like the one used in AngularJS resources. eg "/user/:name"
factory: improve factory identification in logs
core: better error reporting in logs when main router fails to load from factory in dev mode
core: add FSRouter, allowing to easily mount file sytem
admin: add SourcesModule, mounting app main sources on /@/sources/main/ in dev mode
factory: improve error reporting when dependencies are not satisfied

and add details on classloader used by classes to have better information for errors related to classloading
core: improve hot compile - better error reporting + use it for autostartable components too
core: FIX: autostartable components are not reused in injection when using hot reload

add a test for that, and fix the problem: we need to consider the classes loaded for
autostartable components as cold classes.
core: make cache disabling configurable
core: perf improvement: remove unnecessary list copy

This copy was previously necessary because MongoIterator implements Iterable but can't return a new iterator on each call, which makes some code relying on that broken. But with properly configured Jackons writer we don't fall into this problem anymore, and can remove that copy. I needed a check for Iterator would be better.
admin: add sources browsing / updating admin page
Refactored ModulesManager.download() to take an object parameter
For instance, it will allow configure transitivity for downloads
Provided RestxArchiveUnpacker utility class, allowing to unpack a restx archive