Adds ROM Location as option to consoles.txt.

Allows the user to specify a custom ROMs location in consoles.txt on a
per console basis. When this location is provided, Ice will search for
ROMs on that console in the specified location. If this location doesn't
exist, Ice will attempt to create it. If it is no writable, Ice will
disable the emulator and print an error message. When a custom location
isnt provided, Ice will fall back on the current scheme (subfolder named
after the shortname as a subdirectory of the location specified in
config.txt).

One thing that should be noted about this commit deals with how Ice sees
'deleted' ROMs. To avoid removing peoples previous shortcuts, Ice will
only delete a shortcut if it sees the ROMs directory in the exe path.
When a user switches to a new ROMs path, it seems reasonable to expect
that any shortcuts added at the old location would be deleted. Since the
ROMs directory changed, Ice assumes that any shortcuts in the old
location should be left alone.

This commit fixes #120.
Adds utils.py for general python utility functions
Move console reading settings data to initializer