Fix the explanations of HTTPNotFound for keypair's API

Gets the "explanation" from HTTPNotFound exception and returns
correct message. the commit Ia784e09cda986a421e83c2820dfd0a2267867cdd
has fixed this kind of bug already, but this bug is remained.

Closes-Bug: #1307338
Change-Id: I6811eecba86938e4253f437b7677cb7e4468fd67
Add helper method to determine disk size from instance properties

Add a _disk_size_from_instance method which by using the disk name
determine the size of the disk refered in the instance properties.
Update the method finish_migration to use this new helper.

Change-Id: I45bd3804fdabff35189421d01a0503c886c24a4c
Related-Bug: #1298975
Xen: Retry plugin call after connection reset

When using the call_plugin_serialized_with_retry session method it will
retry if the plugin raises a RetryableError, but not if it loses the
connection to xenapi.  This adds a retry for the 'Connection reset by
peer' error that is occasionally seen.

Change-Id: Ibb36a0170e0e807ad7a4198df7b6e574c4279bed
Closes-Bug: #1200591
Merge "Xen: Retry plugin call after connection reset"
Merge "Add helper method to determine disk size from instance properties"
Merge "XenAPI: Calculate disk_available_least"
Merge "Fix the explanations of HTTPNotFound for keypair's API"
Merge "XenAPI: Use local rsync rather than remote if possible"