code refactor, add caching

Heavy usage of string.format() instead of direct string concatenation.
Moved colour values to top of file.
Updated hardcoded list of minecraft versions.
Added caching option to fetch_data so that data from urls is cached once
per day and writes/loads it to/from a file. A 'forceredownload' command
added to force redownloading of data.