A few new features and fixes

Cleanup DogeCommand (@JOPHESTUS) and categorise with other finance-related commands. Add AbstractActionCommand (partially complete) with some testing.  Add in commons-lang for validation & exceptions.

 :warning: **This isn't fully functional yet. I want to upgrade to PircBotX 2 before we implement the action-based stuff. Do not pull at this time else things will explode.** :bomb: