Added requires_session decorator to check session. See #12.
Added .gitignore.
Enhanced @requires_session decorator. See #12.

This commit improves the previous design and is aligned with the issue's
expectation. The previous commit provided some basic framework for
building this one.

What remains to be done is testing the front-end system. We probably can
use requests by utilizing requests.session class to establish session.
At some point it might be more convinent if we write front-end tests
using tools like Seleium.
Merge pull request #15 from yeukhon/issue12

Added requires_session decorator to check session. See #12
Fixes #12 Use a decorator to check the session and the user's role
Fixes #4 Allow the frontend to run in debug mode from the command line
Changes for #16 Use production session manager when not running in debug mode
Added a MANIFEST.in so that web assets are included when packaged
Fix for new users not being created with a valid role.
Show an alternative view when the user has no sites in Minion.
Only reload the reports when the user has any
Fixes #18 Add a cancel button the new site dialog
Fixes #19 Add target url validation to the new site dialog
Fixes #23 In the sites list it should be possible to edit a site
Fixes #21 In the user list it should be possible to delete a user
Fixes #22 In the user list it should be possible to edit an existing user