add HTTPSuccessful base class, allowing HTTPOk to be caught independently; closes #986