Organise Code, check cache folders, manage preferences

Code now in chunks with headers.
Checks for & creates cache folders on startup.
Preferences added (default .plist).
Ability to change Save folder.