Use Interface instead of abstract ListPreloader
In your examples the ListAdapter and the final ListPreloader are
strongly connected. Using an Interface will remove this strong
connection.

Using an interface that an Adapter can implement has the following
advantages:
1. the dimensions don´t must be passed to the ListPreloader while the Adapter has the first access to the dimensions of the ImageView
2. you don´t have to pass the items to the ListPreloader, while the
Adapter already has the newest set of items (e.g.: CursorAdapter)
3. in most cases the ListAdapter already has an RequestBuilder, so
you don´t have to pass them twice
4. you get rid of an extra class (ListPrelaoder) you have to implement
Split interface to provide the size seperatly. Change interface on `PreloadModelProvider` so preload items will requested one by one.
 - introduce new interface `PreloadSizeProvider`
 - change `PreloadModelProvider` preload items will requested one by one.
 - adapt Tests
 - adapt Samples
 - add two sample implementation for `PreloadSizeProvider`
      - `FixPreloadSizeProvider` to provide a size with a fixed width and height
      - `ViewPreloadSizeProvider` provide a size request from a given view using a `OnPreDrawListener`
Use old List of models approach to preload and add some missing documentation
Cleanup comments and maintain backwards compatability for preloader.
Only set size once in ViewPreloadSizeProvider.
Update readme.
Support different target-sizes for list items
Change and remove some leftovers from testing and autoformating
Use identity matrix to detect changes in rotate.

Fixes #270.
rename preloadItem(List<T> items, int position, boolean isIncreasing) to preloadAdapterPosition(List<T> items, int position, boolean isIncreasing)
Merge pull request #273 from DavidWiesner/feature-ListPreloader-support-multiple-sizes

Feature list preloader support multiple target sizes
Fix holding onto reference to view in list.
Add an original size constant.
Always return new copy in DrawableResource.

Fixes #276
Don't call cancel in OkHttpStreamFetcher.

Fixes #257
Merge pull request #274 from sjudd/original_size

Add an original size constant.
fixed the getRoundedSampleSize() calculation bug - https://github.com/bumptech/glide/issues/288
Merge pull request #289 from balmbees/v3.4.0.1

fixed the getRoundedSampleSize() calculation bug
Allow video decoder to specify time to decode from
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81384031
Allow request manager retrievals for detached fragments.

isDetached seems like the wrong thing to assert here since isDetached has to do with whether the fragment has UI or not. It could still be alive and attached to an activity. See http://developer.android.com/reference/android/support/v4/app/Fragment.html#isDetached().
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81815183