An initial attempt at a backpack-connect model, with tests.
added hasPermission() to backpack connect session model
added .isExpired() to backpack connect session model
Added backpack connect SessionFactory.

Argh, the second options argument to the Session constructor doesn't get
called when the model's static methods like find(), findOne(), etc are
invoked, so I had to make a factory for use with tests. Ugh.
added permission validation to backpack connect session model.
Added controller for backpack connect.

This controller is fairly generic/configurable, and can be used in the
future w/ any kind of service that wants to offer what effectively
amounts to a sort of "federated oauth".
Replaced issuer.js's OpenBadges.ROOT w/ OpenBadges.getRoot().

This will be needed for other scripts/modules/etc. to be able to
get at the root URL.
Added a very simple OpenBadges.connect() implementation in the built issuer.js.

The implementation just redirects the user's browser the backpack's access
page (the controller+route for which haven't been implemented yet).

Ultimately an intermediary will be doing the work of figuring out what
the backpack's endpoints are.
Merge branch 'development' into backpack-connect-model
Factor out a new module, test/issuer-utils.js, from issuer.test.js.

This will allow us to reuse issuer-utils in backpack connect integration tests.
Added backpack connect endpoints in app.js and integration tests.

A few things have TODOs around them; this is a work in progress.
Removing pop-up info from group badges

Fixes #628
base64 decode authorization bearer tokens for backpack connect.
Adding functions to user model to get badges
Badge listing template (and styling)
Adding controllers for new badge list pages
Setting up routes for new badge list pages
backpackConnect.authorize() middleware now also sets request.user.
Putting badge popup panel back on page
Putting pointer cursor back in for badges