ENH: Add iter_regex and find_features

Fixes #612. Adds iter_regex to skbio._sequence.BiologicalSequence and
find_features to skbio._sequence.NucleotideSequence. Supported features are
currently purine_run and pyrimidine run, but more can be added by specifying
additional regular expressions.
An advantage to using a regular expression is that they are simple to read, especially when operating on simple alphabets. This will however limit runs to the set of regular languages. It feels like any meaningful feature run would exist in this set, but I am not a biologist.

Using a function, by virture of python, bumps us into the realm of recursively enumerable (turing complete) languages. This sounds more useful, however I might argue that the implementation as suggested doesn't actually buy us that in a maintainable way.
Suppose our goal is to merely match the functionality of a regular expression, we can construct a simple finite automata (FA) in our function to handle this. Would require one state variable and a loop. 

i.e. instead of writing:

whatever the python equivilent is for `(C|T|U)+`

We would need to write:
```
def pyrimidines_run(chars):
	return [c in 'ctu' for c in chars]
```

This is fairly verbose and doesn't get into using state specific transformation, i.e. we always return to the same (and in this example implicit) node.

I would argue if we ever intended to use more than one node in the FA we will have a reasonably complicated chain of if/else inside of a `for` loop. God forbid we jump into the territory of context-free/context-sensative/recursively enumerable. __At that point we may as well keep track of the start and end positions and thus do only a single linear pass__ (which is no longer even a guaruntee, speed is also out the window), because the code cannot be concise or elegant anyways.

This was a really long way of saying: if all features are regular, then a regular expression is the most concise and readable expression. If all features are not regular, then a function is by virtue of the domain required, but it doesn't make sense to return a boolean vector, as this is only a reasonable solution for a subset of regular languages.