addition of python functions for pairwise local and global alignment 

Ready for review for merge. I'll likely make some behind-the-scenes changes in the future, like possibly creating an ``Aligner`` class, but that shouldn't affect interface so I'd like to do in a separate PR. The goal of this one is to get usable functionality in place. @ebolyen, it'd be good to have you review the interface for consistency with the SSW code. Also, I think we'll likely end up with a merge conflict in the docs in ``alignment/__init__.py``, but that should be easy to address. 

~~**NOT READY FOR MERGE**~~

It wouldn't be unreasonable to accept a distance_matrix in lieu of a match and mismatch. The way I have the logic set up in SSW is a distance_matrix overrides the match and mismatch, otherwise the match and mismatch are used instead.