Optimised the insert(), prepend(), and remove() methods.
Added cardinality() method.
Merge origin/master into mike
Minor edits to make it less confusing.
Merge pull request #37 from mfrancis95/mike

Optimisations, cardinality(), and minor edits.
Merge branch 'master' into ross