Allow reading gem list from a file during mirroring

This extends the gem mirroring script to support reading from a file, as well
as the command line, to find out which set of gems to mirror.

This allows an extended input format in the file, where we specify version
constraints, which resolves #59, a need to specify version constraints.
Now we have a clean mechanism for specifying them.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
CVE-2013-0269 Denial of Service and Unsafe Object Creation Vulnerability in JSON

Ruby JSON parsing gems were vulnerable to denial of service and unsafe object
creation attacks when used on user controlled data.  These could be used to
create objects in unexpected ways, as well as to consume memory through
persistent object creation.

This updates our JSON gem to version 1.7.7, a version that is no longer
vulnerable to those attacks, mitigating this risk in the Microkernel.

This is the only mitigation required, as the Microkernel already correctly
uses `JSON.parse` - a safe API for untrusted input - rather than `JSON.load`
or other vulnerable inputs.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Merge pull request #60 from daniel-pittman/feature/master/59-version-specification-for-gem-mirroring

version specification for gem mirroring