Generalize collection instances.

This generalizes the collection instances to work for any collection
type that looks like `CC[A]` and has a `CanBuildFrom[CC[A], A, CC[A]]`.
Move SeqLike instances out to separate file.

I like having everything all in one place, especially since all the
different instances inherit from the more general ones.
Add L_p normed vector spaces for SeqLike.
Add nice getters for more type classes.

Adds an inline-able apply method to Module, (Normed)VectorSpace,
InnerProductSpace and MetricSpace.

Also adds a distance convenience method to MetricSpace's companion
object.
Move string instances over to separate file.

Moves String's Monoid (concatenation) over to its own file. Also adds a
default MetricSpace for Strings; the Levenshtein/edit distance.