swift: pass extra headers to auth promise

This allows $swift to tell $auth about extra headers that should be
included when pending requests are retried.

Before, while the X-Auth-Token header was correctly added to
$swift._headers, it was not included when $auth retried the pending
requests -- with the result that the failed request would trigger
authentication again. For the cookie-based authentication in liteauth
this didn't matter (since the browser would send the cookie when the
request was retried), but it matters when we authenticate against
Keystone where we need to include the auth token with every request.

An alternative solution would be for $swift to update $http.defaults.
However, that would be changing global state and obscure the flow
between the two components.
swift: use $http.get shortcut method
swift: camel-case authUrl in auth credentials
auth-modal: show authUrl

This will make the form more similar to the Keystone auth form.
upload-modal: make label column wider

This is needed for the Keystone auth labels.
swift: add type to auth method

This is currently unused and will default to do LiteAuth
authentication.
swiftSpec: better separation of tests cases
swift: add Keystone auth

Not yet exposed in the UI.
config: add service for maintaining app configuration
auth: add Keystone support (fixes #82)

Configure this in the config.json file with something similar to this:

  {
      "auth": {
          "type": "keystone",
          "url": "http://localhost:5000/v2.0/tokens"
      }
  }
README: document config.json
README: add section on the same-origin restriction
Merge pull request #88 from mgeisler/keystone

Keystone authentication support
upload-modal: rename Cancel to Close

This is really a close button. We will soon be keeping the modal open
after the files have been uploaded (to show the status of each upload)
and this button will then be used to close the window.
upload-modal: use styled button for adding file (fixes #66)

The file input element is now hidden. We cannot interact with hidden
elements from Protractor, so we need to make it visible before we call
sendKeys on the element.
upload-modal: support uploading multiple files at once
test: extract uploadFile function
upload-modal: test upload of multiple files
upload-modal: update UI immediately when a file is added

Before, the UI would only update when the next digest cycle was
triggered, typically after another click in the browser.
upload-modal: use jQuery shortcut

We depend on jQuery so we can use this shortcut.