Modified the parameters that are used to signal the program which data format to expect and added the ability to specify which hull to use in MLP calculations.  Changed the integer array FBP_object_h to the boolean array FBP_hull, changed the names of MSC_hull and SM_hull to MSC_counts and SM_counts, created two new boolean arrays with these names, and changed the integer array FBP_object to a boolean array FBP_hull, all of which have either _h or _d at the end denoting their usage on host or device, respectively.  Then used the more thorough compilation check generated from the release solution to identify previously unposted warnings to improve potential performance and/or data precision issues.

- Created enumerated data types DATA_FORMATS and HULL_TYPES whose members correspond to the only valid choices for the data format and hull to use in MLP.  The parameters DATA_FORMAT and MLP_INPUT_HULL are then declared to be of these types so they can only take on one of these values or a compilation error occurs, so the switch statements which use these parameters to determine which functions to call for counting histories, reading data, and setting the hull to use in MLP and there can be explicit statements for all possible cases and no default case is needed.
- Since the hull is simply an array of 1s and 0s, it is much more efficient to use a boolean array instead.  MSC and SM intially counts the number of times a voxel is identified as outisde/indide on object, they must be integer arrays until edge detection, then they too can be boolean.  Thus, the arrays after edge detection kept the names MSC_hull and SM_hull but were changed to booleans and the integer arrays are now called MSC_counts and SM_counts.  Similarly, FBP_object was an integer and did not need to be so it was changed to boolean and given the name FBP_hull to be consistent with the other _hull variables. The MSC/SM initialization functions were also changed from ...hull to ...counts and a new function was added which performs the assignment of the boolean _hull arrays from the integer _counts arrays.
- Changed numerous variables from float to double to avoid avoid down conversion that can cause data loss
- The path variables has remained lower case but were changed to upper case to reflect their use as constant parameters.
- Added conversion factor 0.1 for converting mm to cm as a parameter, meaning it is implicitly type double and prevents