Record relative filenames in Bio.SeqIO.index_db(...) etc

This addresses issue #267 by changing the way filenames are stored in the SQLite indexes, together with a new metadata field for backward compatibility. In addition to ``Bio.SeqIO.index_db(...)``, this also affects ``Bio.SearchIO.index_db(...)`` and any other code using the same back end.

Note that by design the new behaviour is not optional. I consider this an improvement over the old behaviour (which was an unfortunate accident, something I did not originally test). Old indexes can still be used with new versions of Biopython, but not always the other way round (local files in same folder will be fine; absolute paths will be fine).

@bow - given your familiarity with the index code from SearchIO, could you review this please?

Suggestions for extra cross-platform testing would be great (I think it handles Windows slashes fine, but I have not explicitly tested evil corner cases like sequence files on different drives).