#577 Lazy fetch of PlatformMBeanServer

In environments with a java security policy enabled, the metrics codebase needs to be granted specific permissions to fetch the PlatformMBeanServer.
The JmxReporter class does this fetch always at initialisation, and as such always needs the permission grant. It should not, since the builder pattern allows it to be configured with a specific mBeanServer, originating from a granted code base, hence avoiding the need for the permission for the metrics library.

Lazy fetch of mBeanServer, only call ManagementFactory.getPlatformMBeanServer() when none is set in the builder pattern