Service fetchable

- Adding a Fetchable interface (getByFetcher method)
- Service, Storage, Manager, FetchableManager and AbstractFetchable now extends Fetchable
- Adding a setFetchable to service. Now we can inject a custom Fetchable to a service directly. If no Fetchable is supplied, the Manager is the default one.

_In order for this merge to be smooth api and balthazar should have merged 'service_fetchable' branch to the current one._