Added reading from file and solved issues with the manual y-axis scale

Changes:
*The program will default to using a csv file for input if no serial port
is present.
*Manual maximum and minimum y-axis scale values may be specified, allowing a
specific segment of the data to be viewed.
*Fixed bug with x-axis labels which meant they were displayed in reverse.
Started work on quadcopter simulator written in python

This will hopefully allow potential algorithms to be tested out without
having to break the quadcopter when bugs occur.
Quadcopter simulator now useable!

Simulation now works in one angular dimension. Lots of work still needs doing
to get it to the stage where all angular dimensions are considered. And then
there's linear motion...

A PID loop has been implemented and the P term has been tested, the other
terms need testing too. This really ought to be done using the graph plotting
stuff written for the arduino, so we need a way of either streaming data
between the programs. A simpler way would be to write the data to a file and
graph it from there...
Added slightly hacky way of measuring sensor sample rate

The timestamps of the two newest packets received from the arduino are used to
estimate this, giving a very noisy estimate. In any case, it seems to work :).
various changes...?
Converting the graph plotting from processing to python
Data successfully read in from serial port and unpacked into appropriate formats.
Put packet unpacking into if statement, print error if packet not aligned