Feature/issue 391 move tests

##### Summary

The intention of this pull request was:
* to group the C++ tests into unit, integration, CmdStan
* not change the behavior of the tests
* to update the makefile to allow running of smaller sets of tests
* arrange the tests so they can be maintained going forward


##### Intended Effect

* Running of tests is more fine-grained. To run all tests within a subdirectory, the make target is the name of that subdirectory (without a trailing slash). This will compile and run all tests from that directory on down.
* All the tests have been grouped into unit, unit-agrad-rev, unit-agrad-fwd, unit-distribution, integration, and CmdStan. A lot of these moves have been arbitrary, so please feel free to say tests belong in a different group.
* All test models have been grouped into src/test/test-models. There are three folders: compiled, no-main, and reference. Those in compiled are compiled into executable models. Those in no-main are code-generated without a main function. Those in reference are not run through stanc and are used for reference.
* The old targets are still defined and map to the appropriate new targets. They have a deprecated warning message on them and tell you the new target names.
* After running of tests, the makefile will confirm that it ran successfully. Hopefully this small change will indicate whether it failed if make masks the error message. Make will now report something like: `Ran 187 tests for src/test/unit/math`

** Changed tests **
Four model tests have been disabled. They are:
- src/test/CmdStan/models/basic_distributions/inv_wishart_test.cpp
- src/test/CmdStan/models/bugs_examples/vol1/leukfr/leukfr_test.cpp
- src/test/CmdStan/models/bugs_examples/vol1/stacks/stacks_a_normal_test.cpp
- src/test/CmdStan/models/bugs_examples/vol2/mvn_orange/mvn_orange_test.cpp
They have been disabled so that we can run the model tests as tests and detect failures. They are disabled from within the tests themselves. You can find them by searching for 'DISABLED_' in the test directory.

** Old to new targets **
Old: `make test-unit`
New: `make src/test/unit`, `make src/test/unit-agrad-rev`, `make src/test/unit-agrad-fwd`

Old: `make test-distributions`
New: `make src/test/unit-distribution`

Old: `make test-models`
New: `make src/test/CmdStan/models`

Additional targets:
* `src/test/integration`: all of the compiled model tests are here
* `src/test/CmdStan`: tests that seemed to test the command line functionality only present in CmdStan or things just tested from the outside.
* `src/test/unit-agrad-rev` and `src/test/unit-agrad-fwd`: empirically, these seemed to take a lot of time and both won't change too much, so I split them out separately.

To test a subset of tests:
* If you wanted to just test the math tests: `make src/test/unit/math`. This will test all 187 tests within that folder and all subdirectories.
* If you wanted to run a subset of those, for example all the function tests, you can type: `make src/test/unit/math/functions`. This will test all 58 tests within that folder.

** Proposed change to developer process **

On pull requests, instead of requiring the developer to run `test-unit`, I would propose the developer runs more local tests and then allows Jenkins to perform the full set of tests. For example, if someone were to implement additional fvar functions, they would only be required to test `src/test/unit-agrad-fvar/functions`. This should make unit testing much faster.

##### How to Verify

Reviewers can type:
`make test-unit` or `make src/test/unit`


##### Side Effects

NB: there is an additional dependency for Windows users. Windows users of CmdStan will have to download and install make 3.81 available at http://gnuwin32.sourceforge.net/packages/make.htm. Rtools currently ships with make 3.79. The updated makefile relies on functionality included in 3.81. In addition to installation of make, I had to move the default find.exe in Windows (found in C:\Windows\system32\find.exe). For whatever odd reason, this version of make did not respect the path that was set and kept finding the built-in find.exe. It's not hard to do, but it is an additional dependency that will need to be documented. This is open for discussion. If it is too much of a burden on Windows users to install make 3.81 and move find.exe (if that poses a problem), we can do broad targets, but not fine-grained targets.

This does not affect Mac users. I hope linux users have access to 3.81.

Model tests will now report failures if any of them do not converge.

Jenkins will eventually need to be updated.

Travis-ci can be triggered using smaller targets.


##### Documentation

I haven't changed the doc and wanted to hear some comments on the testing first. Here are places that need to be changed:
- src/docs/stan-reference/introduction.tex: description on how to run unit tests in Stan.
- makefile: the help target needs to be updated
- https://github.com/stan-dev/stan/wiki/Developer-Process#51-preconditions-for-pull-requests: (proposed -- open for discussion) change the developer process only requiring the developer to test the local subdirectory of tests

##### Reviewer Suggestions

Anyone, but sooner is better than later. 

I will help anyone with open branches that have merge conflicts due to moved tests.