change `inject` to `each_with_object` because this isn't a reduction
use an adapter class to avoid runtime checks

We can speed up cache get and set by using a proxy adapter object.  Then
we only have to check for respond_to once (rather than every get / set)
sprockets requires ruby >= 1.9.3, so just use String#bytesize rather
than depend on Rack
avoid side effects in helper methods

Make the ivar assignment in the initializer so that subsequent calls to
the helper method will not mutate the instance.  Also, use map / uniq
rather than checking a hash key all the time.
`klass` will always respond to `name` so we don't need to check
use a factory method to create a processor class
default data to a hash so we no longer need is_a checks
remove the checks for 1.9, since the gemspec specifies 1.9 and up
add depend_on_asset directive description in README
two small docfixes in Sprockets::Processing
Fixed repeat saving manifest in compile
Merge pull request #500 from tenderlove/1.9

remove the checks for 1.9, since the gemspec specifies 1.9 and up
Merge pull request #499 from tenderlove/rm_conditional

default data to a hash so we no longer need is_a checks
Merge pull request #498 from tenderlove/factory

use a factory method to create a processor class
Merge pull request #497 from tenderlove/klassname

`klass` will always respond to `name` so we don't need to check
Merge pull request #496 from tenderlove/side_effect

avoid side effects in helper methods
Merge pull request #495 from tenderlove/bytesize

sprockets requires ruby >= 1.9.3, so just use String#bytesize
Merge pull request #493 from tenderlove/adapter

use an adapter class to avoid runtime checks
Merge pull request #492 from tenderlove/not_a_fold

change `inject` to `each_with_object` because this isn't a reduction
Merge branch '2.x'