Require processors to be thread safe

@dgraham I know we looked at doing some crazy parallelization stuff and failed. I think we should still put it on hold for 3.x, but I'm thinking we should at least start requiring all processors to be "thread-safe" even if we aren't going to use it yet. We can only make these kinds of big changes at major releases. This would at least put us in position to mess with it in the future.

/cc @aroben
ejs might be thread-safe already. see https://github.com/sstephenson/ruby-ejs/blob/master/lib/ejs.rb