Merge pull request #47 from jbrodye/master

Some code refactoring, UI changes (logging), bot facts, other small additions.
Corrects fadename saving.
Guards against logout on the watchdog.
Makes the tracker log geolocate failures, instead of bot saying.
Factors out geolocate, makes it optional.

Factors out the geolocation into it's own service, loading
a URL from server config.
Widens the fade name fields.
Adds tracker database interaction with MySQL.

Needs testing.
Make the inserts ignore errors, mostly due to constraint.
Correct select query, and use condense on results.
Corrects select, so it actually counts and returns rows.
Move the condense to select.
Length check select results.
List add results to the tracker entry.
Remove duplicate results, to help reduce SQL bounce.
Don't bother with the foreign constraints, they don't make sense.
Remove event scheduler, preparation to sub-module.
Adds event scheduler as a sub-module.

To initalise, is src/libraries/event-scheduling
run:

git submodule init
git submodule update
Adds log4dm as a sub-module.
Update DME for sub-modules.
Switched to text-util, which is now a sub-module.