changes to Event contract
fixes tests. all event data is unicode now
refactors blob references to be more stable and sane
adds validation for all types for events