Add var_stack.def.hpp to allow interfaces to use Stan header-only

Copies var_stack.hpp to var_stack.def.hpp and adjusts header guard

Follows pattern in Vandevoorde and Josuttis:

1.  header-only file    .hpp
2.  definitions file    _def.hpp   (includes 1)
3.  instantiation file  .cpp       (includes 2)

To use header only, you include (2). To use standalone, you include (1), but
also compile (3) in its own translation unit and then link it.
Merge pull request #1095 from ariddell/feature/models-header-only

Add var_stack.def.hpp to allow interfaces to use Stan header-only