Role Contracts can now handle multi-level properties, like "node.distance".
Added test for binding null to a Role.
Dijkstra example: Made all bindings happen in _rebind() to avoid inconsistencies.