Improved command prefixes

Command prefixes are now stored in an inverse-able BiMap, allowing the
getting of either a prefix (from the response type) or a response type
(from a prefix)