COEF OFFS & NBRM components marshaled to STL map in non bonded potential
NBLT components marshaled to STL map in non bonded potential
add interfaces for force and shift calculators
all components are now provided to calculators via a native stl map

notes:
1. this caused the loss of some features specifically
   a. verbose mode for calculators currently doesn't work
   b. calculation of single component shifts won't necessarily work
2. some sections have to defined with gil as not all non native data
structures have been removed
non bonded interaction list no longer treated as a component list

this was a 'feature' in the original design the non bonded component
list was treated as component list even though it had the wrong
interface....
ids for components become integers to make nogil operations easier
_add_native_component_to_call_list checks status before building

this means gil is only called at the start of a calculation when the
component list is not populated
reemove redundant coefficient list from get boxes
_get_active_components is no gil and calc_force_setd a bit so
calc_force_set becomes nogil
_calc_factors becomes nogil
_calc_force_set_with_potentials becomes nogil 

to achieve this force_factors become a CDSVector[float]
xCamshiftEnsemble calcEnergyAndDerivsMaybe4 _calc_derivs are fully nogil
calcEnergyAndDerivsMaybe3 and xcamshiftEnsemble _calc_energy are nogil
calcEnergyAndDerivsMaybe2 and shift cache averaging  become nogil
calcEnergyAndDerivsMaybe1  and _calc_shift_cache are nogil