Added aliases!

- Replaced Aphelion.aphelion with Aphelion.getAphelion()
- Added JavaDocs to one file (so useful, I know)
- removed the annoying responses whenever you address Aphelion in chat
- Added channel stats (wip)
- Added primitive aliases (wip)
- Added new saving method for databases
- Added new configuration options (legacy_identify, message_delay,
finger, allow_bridge, use_google_api, ect)
- Changed the default version identifier
- Added new configuration methods (will move to standalone class at a
later date)
- Added channel bridging (permissions not complete yet)
- Added <act> and <input> to factoids. Starting a factoid with <act>
turns it into an action and you can probably guess what <input> does!
- ICommand.channelSpecific() now means that it needs a channel instance
for the command to complete
- ICommand.botWide() means that the command affects the entire of
Aphelion on the network
- Removed testing code that was causing bugs
- Added private messaging commands (to run a command in PM as if you
were on a channel, write @command #channel <args>)
- CommandEvent and PrivateCommandEvent are now interchangeable
- Added new commands twitter, act, topic, stats (twitter command is
broken)
- ChanOperation commands now check if Aphelion is an op in the specified
channel before running
- ChanOperation commands now check if the target is online in the
specified channel before running.
- Help command now splits its lines into 200 character lines to prevent
cutoff
- Fixed sending requests to Wolfram|Alpha without an API key
- ISaveable is now an abstract class
- UserData classes now implement IUserData