test base: handle app context

This allows us to write meaningful tests with an app context. A Sample (failing) Test is as follows:

    class TestRoot(TestBase):

        def setUp(self):
            super(TestRoot, self).setUp()

        def test_redirect(self):
            with self.app.test_client() as c:
                rv = c.get('/')
                self.assertFalse(rv)