mem/arena: factor out policies.

The default instantiation Arena<> now has the legacy behavior expected
by m4vgalib, but by passing policy classes, applications can customize
it.  On the down side, all the code is now in a header file.  C'est la
vie.

I've provide policies for the orthogonal bits that I foresee wanting to
change, but of course, applications can add their own.
data/range_ptr: add (begin, end) constructor.