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.