NX-493: First draft of the service using orientdb
Smaller fixes
NX-493: Proxy and hosted services, a lot of simplifaction

Paved the way for more services. Also, removed a lot of redundant
ifaces proved to be unneded. Finally, tests (that should be remain
as is since it uses _real registry_!) covering hosted and
proxy use cases.
NX-493: Attachment handling and leaner parsing
NX-493: Files that were left out from prev commit
NX-493: Separated out generator from producer

To be able to get properly post-processed packages but not
in "raw" (content locator ) form
NX-493: Added tarball url filtering
NX-493: NPE guard
NX-493: Removed unused method for hosted reposes
NX-493: Integrated service with proxy and hosted repo
NX-611: NPM Proxy repository
NX-498: NPM Hosted repository
NX-490: Registry root metadata is not cached (WIP)
NX-491: Use of GSON dropped

Initial implementation of proxy and hosted repositories
using the new metadata service. Dropping many of the (now)
unused stuff, also, GSon proves to be not needed anymore.
NX-493: Javadoc
NX-493: Multiple improvements

Changes:
* obey "localOnly" to fix UI problem on NPM proxy config (that it goes to fetch all)
* fix registry URI building
* proxy now supports "expire", "nfc" and real remote control
* support for NPM CLI's "/-/all" special API
* improved logging
NX-493: De-mavenize

By mistake, some repo helper classes were extending
maven specific helpers instead of the core ones. Nothing
biggy, but this is not needed.
NX-493: Refactored internals and groups
NX-493: More refactoring

Paving the way to simplify group support
NX-493: Cleanup
NX-493: Group NPM repository
NX-493: Cleanup and group support

Current NX2.x UI is somewhat limited with custom
repo types, hence removed repo type and instead using
the core ones (as any other plugin does) as UI cannot
create custom repo types for groups. Same done for
hosted and proxy repo.
NX-493: Disable redeploy for hosted repositories

Obey configuration, and prevent redeploys if needed.
NX-493: Fixed registry root caching

And made tests not go remote to fetch it now, as it takes ages
and registry.npmjs.org might get angry on us :D