Controller now gives containers a copy of the global request data holder. This means "request_lock_barf" is no longer used; you can create containers in your code and they will have the actual request data in them. Rejoice. Refs #544. Also cleaned up the locking code and made it more secure. And did related bug fixes.