Make the block device mapping retries configurable

When booting instances passing in block-device and increasing the
volume size, instances can go in to error state if the volume takes
longer to create than the hard code value (max_tries(180)/wait_between(1))
set in nova/compute/manager.py

def _await_block_device_map_created(self,
                                    context,
                                    vol_id,
                                    max_tries=180,
                                    wait_between=1):

To fix this, max_retries/wait_between should be made configurable.
Looking through the different releases, Grizzly was 30, Havana was
60 , IceHouse is 180.

This change adds two configuration options:
a)  `block_device_allocate_retries` which can be set in nova.conf
by the user to configure the number of block device mapping retries.
It defaults to 180 and replaces the max_tries argument in the above method.
b) `block_device_allocate_retries_interval` which allows the user
to specify the time interval between consecutive retries. It defaults to 1
and replaces wait_between argument in the above method.

The cherry-picked patch has been amended to set the default configuration
options to the same values that were previously hard-coded:
  block_device_allocate_retries=180
  block_device_allocate_retries_interval=1

DocImpact
Closes-Bug: #1332382
Change-Id: I16e4cd1a572bc5c2cd91fc94be85e72f576a8c26
(cherry picked from commit 66721eb2c0f53fc4260b2f0aa9a3811da0f7ddbd)
Merge "Make the block device mapping retries configurable" into stable/icehouse
Merge remote-tracking branch 'upstream/stable/icehouse' into stable/icehouse