Refactored the oversized views.py into smaller bits

1. Divided our enormous initial views.py into a bunch of logically grouped smaller views.
2. Adjusted urls.py and index.html to account for the changes.