Introduce RichAttribute

This pull request replaces `AttributeOps` with `RichAttribute` for cleaner code and hopefully more obvious scaladoc.

It also introduces a `contains` method on `Entity`.