* Users can now specify a backpack that differs from the site backpack. In order to do this, connection details need to
be set in 'Manage backpacks' with OR without auth details.
* Introduced new functions in backpack_api
** 'import_badge_assertion' to facilitate cross domain badge imports.
** 'update_assertion' updates a previously defined/created assertion.
* New badge lib functions introduced
** badges_save_external_backpack() - This method handles inserts/updates to the site wide backpacks' configuration details.
** badges_save_backpack_credentials() - This method handles inserts/updates any authentication details to connect to the backpacks created. This can either be site OR user backpack authentication details
** badges_get_user_backpack() - Gets a specific user's backpack. Defaults to current user's backpack if none provided.
** badges_get_site_primary_backpack() - Get the primary backpack set for the site as defined in $CFG->badges_site_backpack
* badges_open_badges_backpack_api() - Now accepts a backpackid(badge_external_backpack id) to check whether the version of the provided backpack.
This was introduced because now there is a difference between a site and user backpack. If null, defaults to site_backpack.
* badges_get_site_backpack() - Accepts an additional $userid param if we want to get a specific user's backpack. Defaults to 0 if we are trying to get the site/admin level backpack
* badges_external_get_mapping() - Accepts an additional argument to indicate which value it wants returned. Defaults to 'externalid' which contains the OBv2 badge URL
* The WebService core_badges_get_user_badges now returns more information for each badge: notification, nextcron, email, version, language, imageauthorname, imageauthoremail, imageauthorurl, imagecaption, endorsement, competencies and relatedbadges.