Clean up the FileReader class and all of the modules that use it.

- Modules which use this class will now have to catch a
  CoreException when opening files if they wish to ignore
  the failed loading of a file.
- m_randquote has been cleaned up massively and the RANDQUOTE
  command has been removed as it was pretty much useless.

---

Hopefully my second attempt at C++ifying this sucks less.