add a resize counter to the non bonded list

this is part of an effort to follow the costs of non bonded calculations
add an binner class for new non bonded calculator

time to bin gb3 into 5A bins with a 0.5A jitter 0.69ms, current non
bonded calculator runs at 10s of ms per round
timing coded not updated to use DerivList
profiles during timing are now written to /tmp
use nano time for timing speed of calculation
disable timing test which currently doesn't work properly
add method to find the bin for a set of coordinates
find neighbor now returns bins and has a unit test

also removed redundant nogil on _find_bin
Non_bonded_bins doesn't need a min_residue spacing
binner uses Non_bonded_remote_atom_component atom_ids
Non_bonded_bins.add_to_bins adds an index to the bin

previously I was using atoms ids but we need access to
Non_bonded_remote_atom_components so we add indices to them instead
debug: can now dump non bonded interaction list to tuple
correct bad indentation
get_bin takes a Vec3_in& and returns a CDSList[int]&
if cdef get_bin returns a ref, crashes cython compiler

get_bin now returns a pointer
Non_bonded_bins get_bin bcomes get_bin_python

cdef and def version clash, and cpdef can't return a CDSList[int]* as
returned by cdef version
add New_fast_non_bonded_calculator using fast non-bonded list & tests
add test that new fast nonbonded calculator is at least 3 times faster
get segid and residue number directly via residueNumArr & segmentNameArr

these give direct access toarrays rather than creating atom objects

saves 0.9/3.2ms /gb3 round = 28% time saving
_is_non_bonded uses atomPosArr not Atom.pos() 

time is now ~1.9ms / round on gb3 vs 12-14ms at starting point