Added heatmap plotting method to Alignment (and tests).

Fixes #765

Based on @gregcaporaso's scikit-bio cookbook recipe:

http://nbviewer.ipython.org/github/biocore/scikit-bio-cookbook/blob/master/Alignment%20viewing%20and%20filtering.ipynb
Forgot to mention that this check only needs to happen if `sequence_order` is supplied by the user (i.e., isn't `None`). If it is `None`, we're using the alignment's sequence IDs, which we already know are valid, so we don't need to validate them.