add typing non_bonded_list.get didn't define a type for the index
use direct access to array length in C via memview.shape (cython idiom)
add standard timing code (should be moved outside the native function)
refactor calc_shifts into a number of sub functions

- these are designed to integrate with the old infrastructure
single atom and components shifts fn's work with new NB shift calculator

the definition a single component for the two is defined differently
intergration of new NB shift calculator an removal of dead code