Many new features
Added a new test for checking multiple days worth of Nurofen Plus
Added a new DistintBy extension to help sorting by a predicate
Refactored methods used to get basic medicine information so others can
call it
Added basic sorting features which dont quite work yet
Introduced the concept of aliased medicine. Medicine with aliases work
like normal except the medicine is not taken into account for the your
settings or reminder emails but rather the aliased medicine is instead.
This means we can still use the information for reporting but the effect
in terms of quantities and running out etc is put onto the medicine that
is aliased. So we can still differeniate between the two if needs be, but
the aliased medicine takes priority in some cases.