remove accidental unused import of numpy
remove component_list filtering for ring forces
remove component_list filtering for extra side chain and extra  forces
remove component_list filtering for non bonded forces
dihedral shift calculators no longer filter components

they use the active component list instead
ring shift calc'r doesn't filter components & uses active component list
extra sidechain and backbone shift calc'rs use active component list
correct major speed regression 

details:

for a int[:] the following (more natural python) idiom is currently very
slow:
        cdef int factor_index 
        cdef int component_index
        
        for factor_index, component_index in
enumerate(self._active_components):
        	....
        	
whereas the follow is fast: 
        cdef int factor_index 
        cdef int component_index
        
        for factor_index in range(len(self._active_components)):
			component_index = self._active_components[factor_index]
			
is saw a factor of 2 speed increase when changing from one to the other
add build_filter_list (should have been commited earlier)
non bonded shift calculator now uses active component list not filtering
add tests for building component filter lists aka selections
remove last vestiges of component filtering from code base
refactor _filter_components the filter can be used as a component
cache non bonded list for future list
refactor_build_component_to_result so functionality can be used alone
_build_component_to_result takes a set of components as a parameter

previous it called _get_component_list

this could go away then the new non bonded calculators are complete
(added a todo to this effect)
separate generation of non bonded list from building components

(building components inside the non bonded list will dissapear)
correct regression from using arrays as results to cs caculations
separate generation of non bonded list from building components
correct using list as result it must now be an array