Build index of seq_ids for each database

Each Database object now contains a set of seq_ids contained within it.
This allows us to determine whether a Database contains a particular
sequence id or not.

e.g., `database.include?(accession) => true/false`

Another use of this feature is that it provides reverse lookup i.e.,
find which database contains this particular sequence. However, in many
cases a single sequence id can be present in multiple databases at a
time. We return all of the values and not just the first value.

e.g., `sequence.which_blastdb => [<Database object>, ..]`

Signed-off-by: Vivek Rai <vivekraiiitkgp@gmail.com>