Allow Callback WeakReferences.

Solves https://github.com/square/picasso/issues/580.

This PR allows to use `into(Image, Callback)` or `into(Image, WeakReference<Callback>)`. The second form has the advantage of not obliging to call `cancel(ImageView)`, but a reference to the `Callback` has to be held long enough to be called back when the request is finished. 

Typically, using this second form, `Activity` or `Fragment` will hold a reference to the callback and pass a `WeakReference` to it to Picasso.