Allow injected RequestHandlers to override the defaults

Addresses an issue where the default `RequestHandler`s took priority over user supplied `RequestHandler`s.

For example, if you created a `RequestHandler` that could handle `content://` URIs, Picasso would always use the first eligible `RequestHandler` in the list - the `MediaStoreRequestHandler` - because user-supplied request handlers are always appended to the end of the list.

The content of the test is a bit different than the other tests as it is not using a mock `Picasso` object.  This is because the logic that needs to be tested exists within the `Picasso` constructor.  This should probably be changed, but I wanted to keep this PR as concise as possible.
Seems like I do need it unless I'm missing something.
![without wrap](http://i.imgur.com/I7YwjMQ.png)
![changing type of list](http://i.imgur.com/U9JF1mm.png)