Feature/namespaced logs

Added namespaces in log retrieval APIs.

Changes:
1. Existing ``LogHandler`` moved to ``LogHandlerV2``
2. Implemented ``/v3/namespaces/nsid/.../logs/...`` APIs in ``LogHandler``
3. ``LogHandlerV2`` delegates v2 user log handler methods to ``LogHandler``
4. Removed ``LoggingContext.EntityType`` and instead used ``ProgramType`` for consistency.
5. Removed request parsing logic for query parameters and instead used ``@QueryParam``
6. Added logic in ``RouterPathLookup`` to route ``/v3/namespaces/nsid/.../logs/...`` APIs to metrics service
7. Added unit tests. 

Build - https://builds.cask.co/browse/CDAP-DUT381
Ok I understand the logic. It seems that components wouldn't require a NamespaceService then, if the check is not made. But still, it seems better to dissociate the handler from the namespace logic. I feel like this is what is done with every service reachable via HTTP in CDAP. The logic is never really made in the endpoints. For example, the ExploreService is called in all explore http handlers: ExploreExecutorHttpHandler, ExploreMetadataHttpHandler and QueryExecutorHttpHandler. This is also the same design for the Notification system - you can have a look at #824 - where the NotificationFeedHttpHandler gets an instance of the NotificationFeedService via injection. This handler is also running in App Fabric HTTP server, and the service persists feeds in a store - much like what namespace does.