Add Campaign & CampaignContribution classes

Change-Id: Ib300e32b0d8146321b661ab5feb20ba9714bfd52
Add Campaign Activity, Fragment and Fetcher

Exposed as a separate launcher icon. Will add more cohesive UI in
the future

Change-Id: I9f15a9ac850d636d72b4892f2b5153f7e2b8ba28
Split up contributions related code into separate classes

A controller introduced to deal with common code for picking images
from the gallery or camera. We should probably start using similar
controller methods elsewhere.

Splitting this particular one up because I'll be using it elsewhere

GitHub: https://github.com/wikimedia/apps-android-commons/pull/39
Change-Id: Idc393414be921d9a0fd54fcb3e2dcd676d8cc08b
Update ActionBarSherlock to 4.4.0

Change-Id: I21ede463315ba66040252f776ab4e80caf09461d
Add UploadController, move upload related functionality to it

- Removes StartUploadActivity and children
- All 'filling in' of missing contribution data is now done
  in one place
- Campaigns are theoretically supported

Change-Id: I18bac1b672e4a0f95cdcdc467dd137177feaf8e6
Tone down the Java hate a little

Change-Id: Ib1efbce3df6c136c423a566535c1b064a1c77b1b
Use a SyncProvider to sync all Campaigns

The SyncService constantly deletes and re-creates the campaigns
in the background to make sure they are up to date

FIXME: Handle deleted or renamed campaigns

Change-Id: I5d03995ada219481ea38887a8ea6d59fa11d2ac8
Generate remote image URL if it isn't set

Since the imageURL can be generated if it isn't set, we can
generate it once and then just return it. This is overriden when
we explicitly set it if we get it back from the API

Change-Id: I55939f2d9c0c2679847ec104f8029d9e533e202b
Use parens to clarify intent & functionality of a condition

Precedence rules are for chumps.

Change-Id: I5e46899b3d2e2af32b627e8cd61f085ad28ef2a2
Fix duplicated column definition

This is why copy pasting code is bad, but I've no idea how exactly
I can abstract out the ContentProvider related stuff

Change-Id: Ib668ad8cd2302b832afc69b97951f3a6b1dcfe5b
Add tracking category when uploading with a Campaign

Change-Id: I0790fc499c0b4960590f03222a1738cc72d7b173
Make the ImageView to be of the specific type

Change-Id: I51ced26ea0b654457919d915e322d91eb211f781
Display contributions from other people to the campaign

Attempts to be as minimally invasive as possible

Change-Id: I1c9d7080d046199d5277385da625c180a8bacbfa
Turn on Campaigns Sync by default

Change-Id: Ief0f8a9dacf21468b396cc406a19d1dcc63fed1f
Merge branch 'campaigns'

Conflicts:
	commons/res/values/strings.xml
	commons/src/main/java/org/wikimedia/commons/Media.java

Change-Id: Ib8c74cbf88630f11b3fbfee903800e7acf7b2fd4
Merge "Merge branch 'campaigns'"