EC: Make quorum_size() specific to storage policy

quorum size ie, the number of successful backend operations,
is used by the proxy to deem the client request serviceable
or successful.  With introduction of non-replication storage
policies, quorum_size definition will depend on the policy
type.  For 'replication' policies, it is a function of the
number of object replicas configured, whereas for the
'erasure_coding' type policies, it is a function of the
number of data fragments the original data was split into.

This patch adds quorum_size() definitions for the currently
supported storage policy (sub)classes:

   ReplicationStoragePolicy and ECStoragePolicy.

for object server.

Storage policies are not supported for account and container
services - the default 'replication' style quorum_size()
definition will continue to apply to those.

Changes:

 - Turn generic quorum_size() into replication_quorum_size() which
   is applicable only to account and container services
 - Define quorum_size() per StoragePolicy subclass
 - Return replication_quorum_size() from ReplicationStoragePolicy
 - Consult PyECLib to calculate ECStoragePolicy-specific quorum size
 - Update callers of quorum_size() to reflect the above change
 - Add quorum_size() unit test code for account, container
   and object servers (taking storage policy into account)

Change-Id: I25fd27267897826194f9babc696f3c371aee4d44
Implements: blueprint ec-proxy-work