Split API classes and interfaces

NoPrimaryAvailable and NoServerMatchingReadPreference need to be defined.