Volley requests: Override getHeaders() to specify our User-Agent.

Otherwise it generates a user agent based on the Java package name.
This way it is consistent with the upload which doesn't use volley
and which explicitly set the User-Agent already.
Having to do this in a method override is rather tedious.
ZooniverseClient: Avoid an UnsupportedOperationException from volley.

Don't call Volley.newRequestQueue() if it would cause
an UnsupportedOperationException from the MockContext.getPackageName()
as used by ProviderTestCase2. Luckily our content provider test case
doesn't actually need to do any network IO.
ItemsContentProvider: Handle Context.getExternalCacheDir() failure in tests.

Now all the tests complete.
Activity: Add (useless) for now testStateDestroy() tests.

These use finish(), which apparently causes the activity to actually
terminate:
http://developer.android.com/tools/testing/activity_test.html
test: Add QuestionHelpActivityTest.