Feature/issue 443 reorganize agrad

* Summary
   Rearranged src/stan/agrad/rev/ and src/stan/agrad/fwd/ to have the same structure as src/stan/math/. Cleaned up some of the headers in the process. This does not change behavior of the code.

* Intended Effect: 
   src/stan/agrad has two header files: rev.hpp for reverse mode auto-diff, fwd.hpp for forward mode auto-diff. Inside those folders, headers were moved into functions/, operators/, matrix/. One unit test was changed after it failed due to previously calling an unintended std or no namespace call. (I forget which one.) All other changes were movement of files, changing header guards, and changing to the appropriate includes. The generator was updated to explicitly have a "using stan::math::lgamma" due to an ambiguous call with the "::lgamma" function. 

* How to Verify: 
   By inspection. See that files were moved. No new unit tests were introduced.

* Side Effects: 
   None.

* Documentation: 
   Not user facing. This was just a refactoring of the code base.

* Reviewer Suggestions:
   Anyone.