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 is the API version of the function, let's move it behind an `api` path.  That way we can expose all the API functionality, with the JSON responses, under one upper level path.  For instance, change this line to:
```python
@app.route('/api/keywords', methods=['POST'])
```