Add error message system

Adds functionality for error messages to be displayed nicely.
Move the album and artist arrays into the loaded json db

The artists and albums information is not stored in the json database
file on disk rather than being generated every time it is needed. This
greatly inproves loading performance.