Issue #535

Align type-class, syntax and instances. Some ideas taken from http://hackage.haskell.org/package/these/

The Align type-class is provides a zip-like operation (align) that maintains list elements that do not align.
Merge branch 'topic/align-rebase' into scalaz-seven