shuffle the function_signature tests

This is necessary to reduce the maximum RAM spike when executing
make test-unit. If the function_signature tests are done in
alphabetical order, then several tests with similar names and
high RAM requirements will be executed at once if done in
parallel, which may cause the machine to swap or if swap is
exhausted / unavailable, to cause the tests to fail. By shuffling
these tests, it is much less likely to be executing many tests
with high RAM requirements at the same time.
added: sort and rank functions
Tested version
Added sort and rank to reference manual
Added unit tests
switching between spaces and tabs
Added rev-diff sort versions
Removed unused includes in model_header.hpp (appled fixme) and added some lines to .gitignore (files generated by RStan make)
Added unit tests for rev-diff sort and some minor changes
Added fwd-diff for sort and its unit tests
avoid integer division in tests

These two tests created an array of doubles where elements are
N / K where both N and K are integers, which is a "narrowing"
error under the C++11 standard. K is now changed to a double.
Merge pull request #56 from stan-dev/feature/shuffle

shuffle the function_signature tests
Putting spaces between ) and {
Merge pull request #60 from stan-dev/feature/stop_narrowing

avoid integer division in tests
Merge pull request #57 from randommm/feature/matrix_organization

Removed unused includes in model_header.hpp
Merge branch 'develop' into feature/sort

Conflicts:
	src/stan/model/model_header.hpp
yank done item regarding shuffling tests off of TO-DO.txt
Merge pull request #59 from randommm/feature/sort

sort_asc(v), sort_desc(v) and rank(v,s) functions
Merge branch 'develop' into gp_improvements