Fix for SQLA >=0.9

This fixes issue #101, which is caused by a change in SQLA introduced in 0.9 The change causes all searches that use "sort by evolution chain" to fail, resulting in a 500 error.
The code for the fix was provided by magical.
Merge remote-tracking branch 'epithumia/master'

To add to the original commit message:

SQLAlchemy 0.9 changed how the Query.select_from method works.

> Changed in version 0.9: This method no longer applies the given FROM object
> to be the selectable from which matching entities select from; the
> select_entity_from() method now accomplishes this.

The problematic query selects from an aliased table and then joins it to two
other aliased tables, giving the columns to join on as strings. Columns
specified as strings in joins are apparently resolved against the selectable—
which is no longer set by select_from, so sqlalchemy can't resolve the columns,
so this fails. We could use the newly renamed old method, or we could just be
explicit about which columns we mean.

This is the only use of select_from in spline-pokedex. (I don't think it's
actually necessary any longer, but that's another matter.)

For more information, see http://docs.sqlalchemy.org/en/rel_0_9/changelog/migration_09.html#query-select-from-no-longer-applies-the-clause-to-corresponding-entities