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 so an informative error message is provided:

```
In [5]: r = global_pairwise_align_nucleotide("ACW", "ACC")

...

ValueError: One of the sequences contains a character that is not contained in the substitution matrix. Are you using an appropriate substitution matrix for your sequence type (e.g., a nucleotide substitution matrix does not make sense for aligning protein sequences)? Does your sequence contain invalid characters? The offending character(s) is: W
```