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**~~

updated to allow these to take substitution matrices, thanks!