Remove unnecessary abstract base class IByNameAccess

Change-Id: I55e8ff25f4a56a1666d49185236ee5cd5c4ed392
auto_ptr -> scoped_ptr

Change-Id: I16d457d2981b7b3f60c150d362b8b51f6a2700fd
Do not use this in ctor

Change-Id: If2177d309626ef599c7c15f6195151dc0d0a8e30
Simplify string literal usage

Change-Id: I216d0af8fd78bec8668ea2a5be7d75f7c1df0c31
Improve documentation

Change-Id: I63b30b6d962820f31821787c1c220734265e1a4a