Eng6647 updateclasses

ENG-6647: add a way to upsert new java classes to the catalog
ENG-6389: verify class loading and initializers during catalog update
ENG-6693: add a way to delete classes from the cluster's catalog

Small matching pull request in pro, just has an updated junit test.  All the meat is here.
Do you want a similar check for removeClassesFromCatalog(..)? If I add and remove at the same time, does it recompile twice?