srm: refactor Configuration class

The SRM implementation groups operations into six catagories with (more or less) duplicate
set of options; however, the field members and corresponding setters and getters do not
match this.  Only the database options are grouped.

This patch introduces a base class that contains all similar properties.  A subclass
contains additional properties that all except reserve_space and copy support.

Target: master
Requires-notes: no
Requites-book: no