Login: Handle OAuth2\Exception

Instead of throwing an exception, fail the login.
Merge branch 'buckets-ui-dev' into rivers-ui-dev
Rename SwiftRiver_API to SwiftRiver_Client
API Client: Moved resource enpoints into separate classes
Display metadata edit dialog