Performance Improvements 1

1. Created directory for benchmarks. A few have been placed there.

2. Kriging Surrogate Model
 - Major speedup of training: 40.99 sec -> 2.38 sec for kriging_isolated.py benchmark
 - Some linting
 - This also speeds up some tests (like EI).

3. Scalable problem in OptProblems
 - fixed a mistake in apply_deriv
 - some linting

4. Derivatives.py
 - minor performance tweak in pre_process_dicts. For an array in OpenMDAO, it is faster to get the basevar and then eval it to return the slice.
 - Added another test for something that wasn't covered