Reorganize agrad to match other code trees and remove cruft

From the TODO list:

Reorganize agrad to match other code trees and remove cruft:
- [x] remove: agrad/hessian.hpp
- [x] move: matrix.hpp to rev/matrix.hpp
- [x] move: fvar_matrix.hpp to fwd/matrix.hpp
- [x] move: fvar.hpp to fwd.hpp
- [x] move: var.hpp to rev.hpp
- [x] move: partials_vari.hpp to operands_and_partials.hpp
- [ ] longer term: break out operands_and_partials into fwd and rev and double components
- [x] ???: rename stan/agrad and stan::agrad to stan/diff and stan::diff?
- [ ] ???: introduce stan::diff::fwd and stan::diff:rev namespaces? (or stan::agrad::fwd and stan::agrad::rev)