Confirm that new ajax plug point gets used, when set.
Include new setting for plugging in an alternative ajax handler, and create
a spiderOakApp.ajax method to use that alternative when the setting is
occupied, or the standard $.ajax if not.

Utiliize the new method, instead of using $.ajax directly, within the app.

Note that $.ajaxSettings is still used for custom settings.  Alternate ajax
handlers will need to consult in order to respect those settings.
Exempt the use of $.ajax to fetch and parse the local config.xml file from
the spiderOakApp.ajax scheme - it's a different category of usage.
Mostly working replacement of backbone.basicauth.  A lot of the file
changes are to remove now obsolete references to backbone.basicauth.
The substantial code changes are in app.js, AccountModel.js, and
PasswordProtected*Base.js, where we use the new helpers/basicauth.js
functions to handle basicauth more directly.

What's not working is a DevicesCollection test and removing the password
for password-protected content.
Whoops - missed app.js.
spiderOakApp.initialize() is not necessary in this test.
Restore the original alternateAjax setting, so the change is transient,
doesn't mess with other tests!
Cosmetic - spiderOakApp is available directly in the top level namespace.
Whoops - apply sync from the right kind of backbone object (even though
the same underlying sync is probably being used).
Make our spiderOakApp.ajax function useable, with the default $.ajax
function even before the settings object is established.
Repair basicAuthManager.resumeAccountBasicAuth() - set currentAuthString
as a local variable. It's not an object member.

Also, implement a test to verify that removing the password cancels
access to the object.  The kind of thing that the above error would
fail, until rectified.
Try to make the spiderOakApp.ajax replacement of $.ajax comprehensive.
Merge pull request #313 from SpiderOak/issue-307-basicauth-revisited

Issue 307 basicauth revisited