Placeholder to use full bounds

Fixes #221

Current behavior causes placeholder to first
use full bounds at `setPlaceholder`, then use centered bounds at `onBoundsChange`, causing a broken fade in:

![http://i.imgur.com/d4yMhrf.gif](http://i.imgur.com/d4yMhrf.gif)

This reverts to previous behavior of using full bounds for placeholder:

![http://i.imgur.com/weWxfME.gif](http://i.imgur.com/weWxfME.gif)
Correct for skia decoding problem during underflow.

Adapted from http://b.android.com/6066#c12
Automatically start and stop AnimationDrawables
Add null check for Intent

We got the following in one of our Crashlytics logs, on a Dell Venue 8
3830 running Android 4.2.2:

java.lang.RuntimeException: Error receiving broadcast Intent {
act=android.intent.action.AIRPLANE_MODE flg=0x10 } in
com.squareup.picasso.Dispatcher$NetworkBroadcastReceiver@210e9298
       at
android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768)
       at android.os.Handler.handleCallback(Handler.java:725)
       at android.os.Handler.dispatchMessage(Handler.java:92)
       at android.os.Looper.loop(Looper.java:152)
       at android.app.ActivityThread.main(ActivityThread.java:5132)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.ja
va:793)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
       at dalvik.system.NativeStart.main(NativeStart.java)
Caused by: java.lang.NullPointerException
       at
com.squareup.picasso.Dispatcher$NetworkBroadcastReceiver.onReceive(Dispa
tcher.java:291)
       at
android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:758)
       at android.os.Handler.handleCallback(Handler.java:725)
       at android.os.Handler.dispatchMessage(Handler.java:92)
       at android.os.Looper.loop(Looper.java:152)
       at android.app.ActivityThread.main(ActivityThread.java:5132)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:511)
       at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.ja
va:793)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
       at dalvik.system.NativeStart.main(NativeStart.java)
Merge pull request #333 from jonathan-caryl/bugfix/null-check-in-onReceive

Add null check for Intent
Merge pull request #285 from square/jw/android-bug-6066

Correct for skia decoding problem during underflow.
avoid crash when decode WebP network stream
Bugfix. only-if-cached was invalid
Merge pull request #264 from eveliotc/placeholder-bounds

Placeholder to use full bounds
Merge pull request #197 from Meituan-Android/master

Avoid crash when decode WebP network stream
Merge pull request #318 from f2prateek/animation-drawables

Automatically start and stop AnimationDrawables
Merge pull request #300 from Meituan-Android/bugfix/only_if_cached

Bugfix. only-if-cached was invalid for okhttp
Remove prefix Utils. because import static
Merge pull request #345 from tttzof351/master

Remove prefix Utils. because import static
Remove prefixes using static import
Merge pull request #347 from amatellanes/master

Remove prefixes using static import
Switch conditional to OR.
Merge pull request #350 from square/jw/or

Switch conditional to OR.
Custom transformations should throw on main thread.
Merge pull request #355 from square/dimitris/throw-to-main

Custom transformations should throw on main thread.