Fixed NullPointerException while getting message

Summary: There were an issue when null message object was set in
AUSyncerStatus. Then when user tried to use getMsg*OrNull
NullPointerException occure instead of returning null. When user
tried to use getMsg*OrThrow NullPointerException occure instead of
IlleagalStateException.

Change-Id: I453b5c5b465634bb03d099f06953e07f55fa7a4d
Preserving if downloading was succesfful in past

Summary: Now AUSyncerStatus is saved for all Uri's with
information about when last successful occure

Change-Id: I7c4dc2bddc8b390526d5342e029d3045dc1d7d59
Fixing NullPointerException

Summary: Service can be automatically recreated by android
with empty intent. We now deal with this problem.

Change-Id: I397af156e56bcd491bafd8f9b9293a6664cd4109
Fixed Wake-lock RuntimeException

Summary: There is and wired issue in Android where calling
"release" Wake-lock after timeout cause RuntimeException.
Now we ignore this RuntimeException.

Change-Id: I1a64635aaf62fb3587ce24afe12fc0de9495c246
Added gradle support

Change-Id: I5d96ed5ffa80317efbb8a0b5b0316fbbf9b91d1c