Minor security change.

Since types are strongly enforced now, IUserRoles should inherit from aggregate root.
Since implements is used, this means that repository will implement IUserRoles and thus it must implement IAggregateRoot.

TODO: fix object disposed problem with broken connections.
Can't access state on disposed connection