[mysql] show the actual view name instead of database name on error.
[mysql] Fixed parameter datatype in error output string
[dbwrappers] Adds drop_analytics() to the database wrappers
[database] introduce CreateDatabase() to the baseclass that calls CreateTables() so that subclasses needn't worry about transactions or calling the baseclass.
[database] adds CreateAnalytics() for creation of indicies, triggers and views
[cosmetics] indenting in CreateTables, remove unnecessary logging
[database] drop analytics prior to UpdateOldVersion, and reinstate afterwards
[mysql] don't recreate views on copy() - they'll be dropped and recreated in the update routines
[database] allow subclasses to specify the minimum database version they support updating from
[cosmetics] rename UpdateOldVersion to UpdateTables for consistency. Drop unneeded try/catch and transaction blocks, make this and UpdateVersionNumber return
void (the dataset classes throw() on errors anyway)
[cosmetics] tabs -> spaces, alignment
[cosmetics] rename GetMinVersion -> GetSchemaVersion to make it clear what it's for
[database] use IF EXISTS on DROP TABLE if we're not completely sure the table exists
[database] bump music and video database versions as on mysql they may have missing triggers or indicies
[database] drop old update code from pre-Eden. Minimum versions are video:60, music:18, addons:15
Merge pull request #4122 from jmarshallnz/separate_db_analytics

Separate database analytics from schema. Fixes mysql issues on update (bad indices/views/triggers)