Fix unnecessary WSGI worker warning at API startup

There was a bug in WSGIService in the way that it was
checking the osapi_volume_workers option.  It was using
getattr() to see if the option was set, if not it was supposed
to set the value to processutils.get_worker_count().  This,
however, never happened because getattr interpreted the default
'None' value to be a value.  So, on any system with no value set
the self.workers < 1 check would be hit and a warning would be
output.

Nova had changed their approach to this option to avoid this
problem.  This patch pulls Nova's approach into Cinder for
consistency.  Cinder will now use processutils.get_worker_count()
if no option is set in /etc/cinder/cinder.conf and when the user sets
osapi_volume_workers to 0.  A negative value will cause an
InvalidInput exception to be thrown.

Unittests have been added for this functionality.

Change-Id: I4ec2fdd0d19195cccffd63cdd1af1b9ca9884c7d
Closes-bug: #1367454
Merge "Fix unnecessary WSGI worker warning at API startup"