add a __str__ for Non_bonded_interaction_list which lists its size
non bonded lists wasn't being updated in a timley manner
make verbose messages from non bonded lists clearer when update occurs
_build_selected_components gets num_target_atoms from ATOM components
updates to test_non_bonded_components to get nb list working properly


this doesn't appear to be affecting real calculations but gb3 10 step
requires a populated shift list for the calculation of the non bonded
list to work (otherwise an empty non bonded list is produced). This is a
hack awaiting a better resolution and appropriate warnings are issued).
updates to gb3 tests test_component_chemical_shifts to get nb working 

see  6124f6bf0cf8807d26a1ada66be68bc2d4b57516
updates to gb3 tests test_component_chemical_shifts_10_step for nb  

see  6124f6bf0cf8807d26a1ada66be68bc2d4b57516
updates to gb3 tests test_total_chemical_shifts_10_step for nb  

see  6124f6bf0cf8807d26a1ada66be68bc2d4b57516
_do_test_force_components target atoms must be all before nb list update

not quite sure where this bug comes from, but it only affects unit tests
of components... However it does point to a need for a better selection
mechanism...