Initial commit

Basic monster creation works.
Add standard python ignore.
Add README
Basic user accounts. Login is now required to create monsters. Created monsters are associated with the user's profile.
Clean up useless debug code.

Use cleaner enumerate() for option query loop.
Make subquestions display.

Div was marked as display:none for future work that will show subquestions only as needed. For now we want to show them until the show logic is in place.
Redo templating to use template extension.

All current pages are now based on a common two column template. Macros now have their own directory (as do base templates).
Fix view w/o id.

When visiting the view page without specifying an ID before we'd hit an error (since we can't find an object with no id). Now in that case we get the most recent monster. TODO: Make the UI clear that this is the latest monster.
Allow descriptions > 500 chars
Make more RESTful

Previous uri to view a monster was view?id=\d+. Move to a more restful view/\d+. This also involves moving to the more poweful webapp2.Route format for the url mapping.
Make wider and leave some space between cols.
Add delete functionality

The creator of a monster can now delete it. TODO: Add an "are you sure?" check first.
Fix spelling.
Better 404 handling for delete
Add editing.

Monsters are now editable. Note that there is NO sanity checking. HP could be "fart" after an edit.

TODO: Add edited flag
Add edit tagging.

Monsters that are edited will now be marked as edited. When viewing the monster's page it'll say it was edited. In the future, this will look cooler. For now it's a text block.
Improve user login experience

Before the profile wasn't much and we made it on the fly as needed. Now we want every user to have a real actual profile so we can display their (non-unique) user name with monsters. To that end there's new login logic for pages that require login:

-If the user isn't logged in, log them in
-If the user is logged in but has no profile, make them one
-Otherwise, continue as planned

This is implemented with some new base classes. Most templates now expect a user object as well.

With that in mind, there really needs to be some refactoring. This works, but it's ugly.
Use display name instead of email address.
Refactor handlers to keep main file slim.

Handlers now reside in files within the handlers module based on their usage.
Refactor login logic to be more maintinable.

It's now up to the template to display some kind of login prompt instead of auto-redirecting. The login url will always redirect the user back to the login url, which checks if they have a profile. If they do, it they're redirected to home. Otherwise, a profile is created for them.