new suggestion for addcyclic

New version of `addcyclic` that works with multiple input arrays (besides the coordinates array), has `axis` and length of cyclic dimension (`cyclic`) as parameters, and maintains the increasing or decreasing order of the coordinate array.

Based on valuable discussions in https://github.com/matplotlib/basemap/issues/139, https://github.com/SciTools/cartopy/issues/398 and inspired by [Andrew Dawson's equivalent function for Cartopy](https://github.com/SciTools/cartopy/blob/master/lib/cartopy/util.py#L26).