Parse the GEM section of a lock file

Platform in a lock file's GEM section is not handled, nor are the
various sources (which I think is a thing).
Lockfile#get now asserts on token type and value

This makes it easy for the parser to indicate that the lockfile is bad,
and is much more readable than manual checking.