improvement of basemap.addcyclic

In its current implementation, `basemap.addcyclic` actually does not work for 2D arrays and fixing the number of input arrays to 2 is also somewhat arbitrary.

The proposed version works for any number of n-dimensional arrays in `arr` and has the option to specify the `axis` along which to add the points.

~~The new function is not backward compatible. However, users will merely have to add a pair of parentheses around their input arguments, as described in the docstring.~~