Performance Improvements 2

1. Edge Dict to Comp List is now cached

2. Shapes for apply_deriv are now cached

3. Speedup to finite difference "get" for indexed cases

4. Some rework to reduce_Jacobian and surrounding code

5. Bounds for provideJ are not cached in the component.