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
This block will always execute because of the line above: if `sequence_order` isn't passed, it is set to `self.ids()`, which will never be `None`. Can you please fix?