major rewrite to use Moose; rename/restructure

Now uses Moose for a slicker OO framework.  Individual APIs are being
refactored into classes where I can attach API-specific methods without
cluttering the main namespace; only guild_details has been refactored so
far.