Merge remote branch 'upstream/v1.5.x'

* upstream/v1.5.x:
  Handle directory creation race condition.
  Add netCDF export support for transverse Mercator.
  Added support for UM fieldsfile ancillary files trunkated with ieee.
Merge remote branch 'upstream/master'

* upstream/master:
  Ensure consistent memory layout for checksums.
BUG: Fixed typo in OSGB.
Merge pull request #745 from esc24/netcdf_int_fix

Added flexibilty when saving integer types to netCDF3
Merge pull request #754 from esc24/tmerc_fix

NetCDF loader allows both forms of the transverse Mercator arguments.
Merge pull request #751 from cpelley/transverse_merc_load_fix

BUG: Fixed typo in OSGB definition
Merge branch 'master' of github.com:SciTools/iris

* 'master' of github.com:SciTools/iris:
  Refactor common code and fix for PEP8 1.4.6.
  Added flexibilty when saving integer types to netCDF3
Merge remote branch 'upstream/v1.5.x'

* upstream/v1.5.x:
  Support for projection_origin and central_meridian
  BUG: Fixed typo in OSGB.
  Respect major/minor axes when converting to Cartopy.
  Corrected 'temperature' var name to 'air_pressure', plus a couple of PEP8 changes
Upgrade GeoTIFF export.

Add support for various data types.
Add support for coord systems.
Map 0 to 360 longitudes into the -180 to 180 range.
Merge pull request #750 from rhattersley/fix-geotiff

Fix GeoTIFF export
Enhanced guess_bounds docstring.
ENH: added peak aggregator functionality
Merge pull request #656 from felicityguest/peak_aggregator

Peak aggregator
Fix masked npy reference file creation.
ENH: Completed whatsnew for v1.5
Merge pull request #755 from cpelley/whatsnew

(Almost) final version of what's new for 1.5.

Just needs a release date.
Merge remote branch 'upstream/v1.5.x'

 - #750 Upgrade GeoTIFF support.
 - #755 Update what's new for 1.5.
Merge pull request #759 from rhattersley/fix-masked-npy-data

Fix masked npy reference file creation.
Merge pull request #756 from pp-mo/guess_bounds_reword

Enhanced guess_bounds docstring.
New array broadcast function and deprecation of broadcast_weights.

broadcast_weights requires an array to conform to. The new function
broadcast_to_shape requires only a shape tuple. This change is
motivated by the desire to avoid loading cube data payloads whenever
possible.