Add RoleDefaults annotation as shorthand to make read-only objects easier to declare.
Fix bug in BaseContext where Throwables with no stack information couldn't be thrown.
The RoleDefaults annotation decreases the need for complex property role inheritence rules.
Merge branch 'master' into php
doxygen strings gen