Make history class

This adds the SampleHistory Class to entities.py.
The history generation is slightly faster than the previous version, but not by much (~10%).

Another PR will come for the scilifelab repo to use this object rather than the methods from lims_utils.py.
that's a single ```elif``