ItemsContentProvider: Use AsyncTasks instead of Thread and custom UriRequestTask.

AsyncTask has a (tested, standard, safe) way to get a result back to our main
thread, and seems fine to use for something that will take just a couple of
seconds, though the AsyncTask documentation says that it should not be used
for something that takes longer than a few seconds.
The Thread+UriRequestTask idea was from O'Reilly's Programming Android
(2nd Edition) book, in its "A Content Provider as a Facade for a RESTful Web
Service" chapter, but I see no reasoning there for not just using an
AsyncTask.
Maybe this would make it harder to cancel existing identical requests, but
that doesn't seem like a problem we have here.
ItemsContentProvider: After login, save name and api_key in SharedPreferences.
ItemsContentProvider: Use a Boolean result for some ResponseHandlers.

This simplifies things and adds some static type safety.
ItemsContentProvider: Upload: Pass the name and api_key as authentication.
ItemsContentProvider: PostAsyncTask: Add the Authorization header.

However, when we add this to the request, we see
CircularRedirectException exception. We don't when we don't add this
header.