Clean up file
Moved primary initialize function into private scope, overloaded two new functions in public scope that call the private function.
fixed initialize functions to adhere to C++ function defninition rules
Updated to allow ease of access to both initialize functions
Reorder function access levels to enforce initialization with *either* a jvm *or* an option list (but not both).