Webservice: serialize number return values (#682).

When a plugin's service method returns a number it serializes automatically. The number's string representation is written to the message body, followed by the line separator string.

The plugin developer is no longer required to implement a wrapper class for the return value or a JAX-RS provider class (a message body writer).

See #682.
Core: Jersey recovers from bad resources (#650).

When the developer makes errors in the REST resources (JAX-RS root resource and provider classes/singletons) Jersey complains properly. As soon as the developer corrects the error Jersey will properly deploy the corrected resources. Restarting the DM server is no longer required.

See #650.
Core: refactor Web Publishing service (#650).

WORDING CHANGE

"A plugin's Web Resources" -> "A plugin's Static Resources"

The former term "web resources" is not concise as "the plugin's REST resources" can also be regarded as web resources.
Now the dichotomy is "static resources" vs "REST resources".

See #650.
Geomaps API: calculate distance in km (#681).

The Geomaps API has a method to calculate the distance between 2 geo coordinates in kilometer.

For high performance a flat-surface formula for a "Spherical Earth projected to a plane" is utilized.
See http://en.wikipedia.org/wiki/Geographical_distance#Flat-surface_formulae

Java API:
{{{
double getDistance(GeoCoordinate coord1, GeoCoordinate coord2)
}}}

REST API:
{{{
GET /geomap/distance?coord1=<lon>,<lat>&coord2=<lon>,<lat>
}}}
The distance is returned in the message body.

See #681.
Merge branch 'master' into workspace-acl