Feature/issue 676 generalize operandsandpartials

#### Summary:
- Generalized OperandsAndPartials so it works with fvar types (tested up to third order). (issue #676)
- Generalized distribution testing (and refactored it) so it tests var, fvar<double>, fvar<var>, fvar<fvar<double>>, fvar<fvar<var>> types.
- Renamed DoubleVectorView to VectorBuilder and allows specification of return type instead of just returning double
- Generalized internal_math prob functions and refactored them so they handle autodiff types

#### Intended Effect:
Generalizes OperandsAndPartials so it works with fvar types (tested up to third order).

#### How to Verify:
See new distribution tests that test all the fvar types up to third order.

#### Side Effects:
None.

#### Documentation:
No changes in documentation.

#### Reviewer Suggestions:
Anyone. Maybe @syclik?