Adding more timeseries shiz to the class

Adding functions like rangeBetween and rangeFrom that allows one to get
the required part of a timeseries

Also adding in some test cases

TODO
  comments.
Generic class and method related changes

Since the timeseries is a Generic class that can take any type of
object, the remaining parts of the system have to be upgraded to reflect
that behaviour.