Default properties

Some changes and clarifications to default property behaviour:

- Added `event_uuid`, which is set to `SecureRandom.uuid`. This can be overridden.
- Changed timestamp so it can be overridden
- Made it explicit that `scope` and `event` cannot be overridden.

I also refactored the tests a bit to make them easier to maintain, by not doing string comparisons anymore, but by parsing the JSON string instead.

@airolson @fw42 for review