Use abstract base class for catalog driver

Use the abc module for managing abstract base classes in the driver
layer and add missing methods to concrete classes.

bp abstract-base-class-drivers

Change-Id: If66b9bd3ebcfc3a59151b52a46407a36d2a9352b
Merge "Use abstract base class for catalog driver"