The ResourceIdentifier class now also tracks each single reference.

This enabled some logic to automatically remove links from resource ids
that go out of scope and get garbage collected. Also added some tests
for it.

Previously the resource ids have been been valid as long as the object
they point at exists, even if the resource identifier no longer existed.
Now it works both ways.

Also added a setUp method to the event test suits resetting the
ResourceIdentifiers.
Removing the property deletion method of the resource_id.

It only raised an error which is what also happens if it is not
present...
Changing properties to use a decorator
Changes to error reporting when assiging non-hashable types as a resource id
Merge pull request #674 from krischer/del_res_id

Correctly unlink references if a ResourceIdentifier goes out of scope.