Added <eris/version.hpp> containing version macros

This required reworking the build process to copy include/ to
build/include/, because version.hpp is configured from the source
version.hpp.in.  (This code is generic, so any future *.hpp.in will
also get passed through configure_file).
Added documentation of eris::market namespace
Added parentheses around ERIS_DBGVAR argument

Without the parentheses, compound arguments with lower precedence than
<< (for example: ERIS_DBGVAR(1 == 2)) were broken.
Removed const ref args, optimize wrapping

Passing const ref for simple types is no faster (and can be slower).

Changed the wrapping data structure to a vector of bools with the value
at index i indicating whether dimension i wraps.  Previously it was a
set containing the indices, but since the number of indices is fixed and
known at construction, and because wrapped positional are likely to have
most (if not all) dimensions wrapped, using a simple vector address
should be considerably more efficient than the repeated binary search
lookups performed with the set.
Removed Eris<T> class

Eris<T> was a pointless wrapper and unnecessary wrapper around
std::shared_ptr<T>: this adds a public Simulation::spawn() static method
that creates a Simulation wrapped in a std::shared_ptr.  (spawn() was
used instead of create() because the latter is already taken for
constructing-and-adding a member).

This commit also makes the default constructor private instead of
protected (protected was already effectively private since Simulation is
declared final).

(This commit was also the reason for the version bump to 0.2.1 from a
couple of commits ago: that version change was supposed to be carried
in this commit).