Feature/api error messages

Encapsulated error codes and descriptions b/c they were parallel anyway and getting hard to keep track of.  Made them full-fledged properties to keep arc from randomly deleting them.  Renamed some stuff.