Improve JMX check performance

The JMX check underperformed especially when used against servers like Tomcat
where we would need to pull one attribute at a time due to non-serializable issues.

To improve this, we now whitelist the types of attributes we will pull as well
as cache the attributes by check name so subsequent checks only need to pull
the most recent values