Fixed a rendering issue with movement/todo.md.
Added a zmq python demo.
Fixed the demo zeromq code to use a non-blocking approach.
Updated .gitignore to ignore vim, Python, and C++ byproducts.
Added configuration_settings.json.

This is a first jab at a settings file. I'm giving it a very restrictive
name to suggest that other types of settings can (and should) exist in
a similar file.
Started grapevine.py, which defines a communication object.

This is untested, not fully featured, and incomplete.
Added publisher and subscriber contexts.

Again, this isn't tested/working (class calls).
Communicator object now works.

This includes basic functionality. I still need to do a proof read and
add comments before sending it through a review process however.
Release candidate 1 for grapevine.py.

This introduces a communication protocol for robosub modules.
Made minor modifications based on cevans87's CR.
Fixed a usability issue with grapevine.py.
Fixed a typo.
Merge branch 'user/LoganEvans-structure' into feat/communication
Merged user/LoganEvans-structure and updated .gitignore.

This adds grapevine.py, which fulfils the python module communication
requirements.

CR: BigDCross, cevans87