Adds prefix option for ROM titles in consoles.txt

Adds an optional parameter to consoles.txt, called 'prefix'. When naming
ROMs in Steam for a console, the value of the 'prefix' field will be
prepended to the name, along with a space. For example, if the prefix
was '[N64]' and the ROM name was 'Smash Bros', the final name in Steam
would be '[N64] Smash Bros'. If the value of the 'prefix' field is the
empty string, then no space is appended.

Fixes #116
Adds ability to get grid images locally

Splits grabbing of grid images into two classes, LocalProvider and
ConsoleGridProvider, along with some architecture changes to allow an
unlimited number of providers.

LocalProvider looks in a consoles 'images
directory' (which can be specified in consoles.txt) for an image with
the same name as the ROM. If one exists, it will use that

ConsoleGridProvider does what Ice has been doing before, queries
ConsoleGrid to see if an image has been uploaded for the game. If so,
will download the image and use that.

Fixes #106
Adds ice.log to gitignore