Recordable Autonomous

Recordable autonomous mode at its most basic form takes values from a controller and stores them in a file (in a JSON Object format). The file can then be played back, reproducing the output.

More specifically, for every time the `testPeriodic` method runs, controller data are sent to a `Recorder` object. The `Recorder` object stores these values if they are different from the previous values sent (this is to ensure that the file is not too large if the controller stays in the same position for a long time). Each set of values are stored with a time-stamp in milliseconds, relative to the beginning of the recording. When a `Player` object steps through the file, it searches linearly for the first data set with a time-stamp earlier than the current time (relative to the beginning of the playback).

Requirements
First, you have to download the json.simple library from here. Then, you will have to add the library to eclipse. See here for more details.

The Code behind the Recordings
Here is the implementation of the code (so you can copy/paste it into your own projects). Perhaps more importantly, there is an example implementation at the bottom.