Remove libstan

# Summary:

This removes the need to build libstan.a and for models to link against it.  This is done using C++ templates so that models don't have to include the special ```var_stack_def.hpp`` which used to be required. 

Also included were some small changes to include missing C++ headers which seemed to be necessary in my build environment (Fedora 20, clang++).

# Intended Effect:

Stan is now 100% header-only for models.

# How to Verify:

```var_stack.cpp``` and ```var_stack_def.hpp``` have been removed but all tests still pass.

# Side Effects:

None within Stan.  Though it will require an update to the interfaces.  I've already made the changes necessary CmdStan, just need to test them.

# Documentation:

None needed, internal only

# Reviewer Suggestions:

Probably @bob-carpenter or @syclik but anyone really.