User/logan evans structure

@PalouseRobosub/collaborators 

This integrates work done by @irwineffect, @BigDCross, and @DanielRetherford to meet our November milestone of dropping the sub in the water and being able to control it with a keyboard.

Some comments on this monstrous pull request:

1. Since we have a looming milestone, I will merge this code into dev-integration on Thursday (Oct 31) unless someone objects. Please look the code over, and don't be shy about commenting on things. 
2. This fixes up our .gitignore!
3. All of the robosub/microcontroller code came from one of the EE branches. Presumably, it will be cleaned up by that team later in the week.
4. The file "Dr. Frankenstein's Machine" will start and kill almost all of the robosub modules. To get more help on how to use this tool, execute:

    $ cd robosub/src
    $ ./Dr.\ Frankenstein\'s\ Machine --help

5. The keyboard movement module (based on work done by @DanielRetherford) now lives at src/decision/test/UserInputControl.py. Since the user needs to be able to interact with it, it will need to be started manually (separate from the modules started with Dr. Frankenstein's Machine). 
6. I merged the comm_settings.json file with the settings for starting the release and mock modules. The default name is now src/settings.json.
7. The logger (based on work done by @BigDCross) spits out all messages to /tmp/robosub/log.out. This file CAN get fairly large. I don't think it's getting to the size where we need to change it, but be aware that it can gobble memory.
8. The serial interface is currently hard coded to be off. This was for debugging purposes. To turn it on, set the global "DEBUG" variable in src/movement/physical/test/jockey.py to False.