fix omission of 0 values in crs.to_string() and add test

This is to avoid parameters like lon_0=0 losing their 0 value in crs.to_string() and to make the behavior consistent with the docstring. For instance, the Proj4 string for projection ESRI:102017 - North Pole Lambert Azimuthal Equal Area is (http://spatialreference.org/ref/esri/north-pole-lambert-azimuthal-equal-area):

"+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"

The current crs.to_string returns an unusual:

'+datum=WGS84 +ellps=WGS84 +lat_0=90 +lon_0 +no_defs +proj=laea +units=m +x_0 +y_0'

The fixed crs.to_string returns

'+datum=WGS84 +ellps=WGS84 +lat_0=90 +lon_0=0 +no_defs +proj=laea +units=m +x_0=0 +y_0=0'