Added iterator for Storage objects

Thus you can do: for (auto &state : storage) { ... }
Removed CrSettings.density; removed BookStage.age

It seems sort of silly to have both .density and .boundary, when really
.boundary is the thing that matters (if #readers ever changes, density
will change but the boundary has to remain constant forever).  This
expells .density from the settings (along with the related
.use_density).

book.age is similarly pointless: it's always state->t - book.created,
so removed it.
Shortened various book field sizes (u32->u64).

This ought to save some file space, and these fields are never going to
be large enough to overflow a u32.

This also updates various appropriate things to use eris_time_t instead
of unsigned long
Improve TCLAP option constraint display
CLI: actually copy the settings!

They were being parsed but not copied into the CreativitySettings!
Added command-line .crstate summary tool
Another eris_time_t conversion
Removed BookState.copies

It's duplicate information, since this always equals lifetime sales +
lifetime piracy.
Switch to eris_time_t
Added reader-specific cost_piracy

Made cost_piracy reader-specific (like cost_unit and cost_fixed).  None
of these currently change (whether across readers or over time), but
they might in the future--and in particular, there is no reason to have
read-specific cost_unit and _fixed, but not _piracy.
Readded market(), copies(), copies_lifetime()

Having book.market was convenient, so reintroduced it has a method (that
just looks at whether price was a nan).  Thus the data isn't duplicated,
but the convenience is there.

Likewise for .copies, except what was .copies is now .copies_lifetime();
.copies() is a new value made up of current period bought+pirated which
wasn't directly provided before.
Add an explicit case to make this an rvalue
The file V storage was seriously wrong

It was copying the *upper* triangle instead of the lower, and set the
diagonal values twice.  Neither was actually a problem except that it
isn't what was intended.
Clarified that authored books are not in new_books

(This is already documented in Reader::newBooks()).
cmake: build creativity-info
Linear construction from beta, V vectors

Rather than have to copy twice (from vector into VectorXd, then again
during construction), just provide the copy-from-vector in a Linear
constructor.

The V vector must be K*(K+1)/2 elements, and must be the lower triangle
in row-major order.
Added FindEigen3.cmake (doesn't come with cmake)

The system version on a debian system only exists if eigen is installed
(it comes with eigen, not cmake).  Include a copy.
Rearranged creativity-info output columns

Also removed "readers" being printed twice.
Storage redesign: updateSettings()

Renamed public push_back to protected push_back_, and added a
(non-virtual) push_back to Storage that calls push_back_, but also
calls the new updateSettings().

updateSettings() should now update any settings that are already
present, typically as were copied into the initial file, and is
automatically called during the first push_back (or, alternatively, can
be called directly).