Gesture seq recorder

This should be merged after Jeremy's tests get merged. But yeah, essentially this change encompasses the following:
Created a class, the GestureSeqRecorder, which will be the 'gate-keeper' of all sequence handling. Callers must register sequences to this object, and it will determine if there are any conflicting sequences. For example this will allow you to register "fist-waveIn" and "fist-waveOut", but once those two are registered, "fist" couldnt be registered. 
Registering a sequence ties a response to that sequence. Such a response could be of type State Change, and could have the information to Lock the state machine. Then, if that registered sequence is hit, it will pass back this information to the caller, who should handle it appropriately. 

I also thoroughly tested this module and am very confident in its functionality.

TBD - The checkProgressBaseTime() function needs to be called on all Myo callback functions (so that it will be called on a regular interval) and appear like real time to the user. This makes it so that a user can be alerted if a sequence that they have started has 'timed out'

I'm not sure why this is the case now, but I'll look into it in a bit. The first thing that jumps out to me is that it looks like MyoCommon is a class (I just took a look at where it is defined). It should really just be a collection of utility functions, structs and enums that are useful, and I don't think it should be a class.