complete overhaul of error handling

old system was too complicated, especially when interacting
with aug API locking. changed everything to be more
conservative on what can be recovered from. once the
plugin is actually working we can revisit error handling
that is more subtle.