Use indexedDB to store pending survey responses.

Add function for setting up the database.

Add function for saving surveys to the database.

Add function for processing through the database.

Add unlimitedStorage permission.
First draft of indexedDB functions
Factored out opening the DB.

Cleaned up survey submission stuff.

Switched to single quotes in sendSurvey.
Trying to get two-stage queue processing to work -- adding items from DB
to an array, and then looping through that array and starting XHRs for
each, with the success and error callbacks starting new transactions.

But it isn't really working.
Make starting async calls to sendSurvey happen inside the transaction,
after running through the entire cursor. If we don't do this, we can't
guarantee that this happens after pushing all the items into the
surveysToSubmit array.
Add queue processing alarm to on-install setup.

Remove testing code from background.js.
Add processQueue as an alarm listener.
Merge branch 'master' into send-survey

Conflicts:
	extension/background.js
Remove debugging console.log statements.
Renamed 'Survey' to 'SurveyRecord' to better indicate that it is a
completed survey.

Fixed various reviewer comments.
Move survey submission code to survey-submission.js and a new namespace
'SurveySubmission' for that code.
Forgot to commit the cleaned up background.js
Add survey-submission.js to background scripts manifest
Merge branch 'master' into send-survey

Conflicts:
	extension/manifest.json
Address review comments
Fix function argument formatting
First draft of survey submission tests
Merge branch 'master' into send-survey
Updated, partially blurred screenshots for all conditions except extensionWindows and dangerousDownload
Updated, partially blurred screenshots for all conditions except extensionWindows and dangerousDownload