Moved 'tell.json' to the data folder

Also made it use the time duration to text function in SharedFunctions instead of its own
Added function to turn a JSON-style string into a dictionary since both MtG and joinserver use it
Since the MtG definitions file is hand-made, don't ignore it
Moved string-to-dict function to SharedFunctions, made it possible to search for type with the 'randomcommander' parameter and if the manacost is colourless there's no need to report that twice
Made sure 'addsitedir' also works if you're not in the same folder as the script, fixed a quitmessage encoding error, and gave the shutdown some more time so the restart module has more time to do what it needs to
Can now also restart the entire program instead of just the bot instance with the 'restartfull' trigger
More fixes for unusual Bundle layouts