Use GSIs in FakeDynamo when the IndexName starts with 'gsi'.

Hello @x-ma, @giannic, @chaosgame, @sboora, 

Please review the following commits I made in branch 'jamie-gsi-with-table-hash-key-as-range-key'.

36fa3578e1fc79d1df69f9932ea67594d939f74d (2014-11-19 23:51:18 -0800)
Use GSIs in FakeDynamo when the IndexName starts with 'gsi'.

The existing FakeDynamo code doesn't make use of a GSI if the
range key of the GSI is the hash key of the table. This makes it
impossible to test queries against GSI where this is the case. As
a minimal addition, this patch explicitly uses the GSI path if
the indexName starts with 'gsi'.

R=@x-ma
R=@giannic
R=@chaosgame
R=@sboora
yeah, I wondered about that. i couldn't think of a good heuristic. do you think two dashes covers it? that's just as much a convention as gsi-* ?

And regarding tests, I attempted to add one to the existing GSI tests, only to find there weren't any :/ I'll chat with @giannic about the easiest way to add tests, because I couldn't really parse where the table definition was, and where indices were defined.