Refactores event states to allow pickling

Conflicts:
	celery/events/state.py
Fixes docstring
LRUCache is pickleable