Full rewrite

This is a full rewrite of the Tessen library.
It should be much "snappier" now and visualisation has been separated from a lot of
the initial data generation. Unfortunately, it is difficult to decouple some of the data manipulation from plotting.

There are two main functions:
*create_fan*: This takes raw Offer Data information and constructs as many fan curves.
A fan curve will be constructed for each permutation of (Market Node, Trading Period ID, Reserve Type, Product Type, Reserve Band).
This is a large number of permutations, for example a full day of fan curves will be about 300MB.

*plot_fan*: This function takes the data (or csv file) generated by the create_fan function.
It then takes optional price arguments and returns a matplotlib offer frame.
The functionality here should be able to be replicated in JavaScript for a D3 based implementation.