migration throttling
[dm-cache] use vmalloc for large arrays
[dm-cache] no-copy optimisations

WARNING: this currently assumes your origin starts full of junk.
[dm-cache] a quick one-shot cache to try and treat multiple,
consequetive io to the same block as a single arc access.

Slows things down, revisit.
[dm-cache] use last_lookup cache in interesting_block too.  Performance improvement
disable the no-copy optimisation
make the interesting hash much smaller
Merge commit 'v3.5' into thin-dev

Conflicts:
	drivers/md/dm-thin.c
dm: rebase to 3.6 update
Merge branch 'thin-dev' into cache2

Conflicts:
	drivers/md/dm-thin.c

(purposely kept dm-thin.c equivalent to pristine 3.6 dm-thin.c --
dm-thin cannot be compiled in the cache2 branch at this point anyway.
So the diff to fix it, starting with a 3.6 dm-thin.c, will be more
immediately useful when it comes time to post for upstream inclusion)
dm cache: fix error path ('bad9') in cache_ctr
dm cache: changes needed to work with latest DM core

Also fixed cache_ctr to account for possibility that arc_create() may
fail.
dm cache: include cache device in cache_iterate_devices

(like we do for old snapshot's cow device)
dm cache: use dm_target_callbacks to establish congested_fn
dm cache: cleanup Kconfig
dm bio prison: switch from per prison cell_cache to single cell_cache

Aside from being much more clean, this is preparation for merging in the
latest 3.6 dm-thin.c bio-prison code.
dm bio prison: get dm-thin and dm-cache to coexist (and compile)

. renamed struct cell to dm_bio_prison_cell -- meaningful for a couple
  reasons: 1) dm-thin switched to that name 2) the slab will have a
  useful name

. removed duplicate declaration of dm_thin_id and dm_block_t -- still
  needs fixing but that'll come later when the cell_key is made opaque

. updated dm-thin.c to use struct deferred_set pointers (struct is
  hidden from dm-thin now)

. eliminated dm-thin.c's local _cell_cache and associated code
dm thin: remove old bio prison code that now lives in dm-bio-prison.c
dm bio prison: remove unused cell_holder function
dm cache: reduce ENDIO_HOOK_POOL_SIZE from 10240 to 1024

(lesson learned from dm-thin on small memory system)