DO NOT MERGE: Code review pull request

This is a pull request that compares the latest master code to the beginning of time.  This allows for a code review of all the files.

Jeremy will provide comments and suggestions for the code here.  The comments and suggestions should be addressed in new development using the process outlined in the [Development and Deployment Procedure](https://github.com/jeremyprice/Team4/wiki/Deployment-Procedure).  Do not make any commits on this code_review branch.

The method to create this code review pull request is documented in [How to do a full code review on GitHub](http://astrofrog.github.io/blog/2013/04/10/how-to-conduct-a-full-code-review-on-github/).

DO NOT MERGE THIS PULL REQUEST!
Since this function returns multiple keywords it should be named plural.  Also, if the other `/keywords` gets moved behind `/api/keywords` then we can put this one as `/keywords` and keep all the UI routes as toplevel routes.
```python
@app.route('/keywords', methods=['POST'])
```