adds support for :history option and rename megaref to just ref
Using ensure (which uses a rwlock) to prevent concurrent hierarchical updates by default was too blocking. Now three possible optios: :optimistic (dummy write), :pessimistic (ensure) and nil (no check)

Conflicts:
	examples/ants/core.clj
	src/net/cgrand/megaref.clj
refactoring/clean up
README updates and version 0.3.0