Rewrite the routing logic for frontend

Routing logic previously written was unnecessarily complicated and was
not very well utilizing the power of Flask. Rewritten with following
changes.

* silpa/frontend/__init__.py: Drop the route decorator generator, its
  not needed we can utilize the route from Blueprint instead.
* silpa/frontend/pages.py: Single function serve_pages can handle both
  module pages and normal pages. <page> argument should be passed from
  template. Drop all `request' related thigs we can get page requested
  from page argument to serve_pages function.
* silpa/frontend/templates/{silpa,index}.html: url_for usage for pages
  and module pages should be different from previous code, we are using
  Blueprint instead of MethodView hence we can't get url generated from
  giving the actual URL, instead url should be generated by specifying
  the method and passing end point of url as *page* parameter to it

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Use werkzeug DispatcherMiddleware for apps

We have 2 apps now within same application, one is for api and second
one is for frontend, we will use DispatcherMiddleware to register both
these apps into single WSGI frontend.

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
Add tests for frontend html

Added test for index page, it just checks if it can find the a proper
title for the page

Signed-off-by: Vasudev Kamath <kamathvasudev@gmail.com>
get and post method should pass methods to _request

_request function require method to invoke from test client this should
be passed from the function which invokes this method.