Add a stream operator to the BinaryWriter

A new function (Push) and a convenience operator << allow strings and
POD types to be written to the wrapped file-like object. The position of
the binary is automatically adjusted.

Combined with #31 this allows:
    w << i << l << f << d << p1a << p1b << p2 << p3;

    r >> ri;
    r >> rl;
    r >> rf;
    r >> rd;
    r >> rp1a;
    r >> rp1b;
    r >> rp2;
    r >> rp3;

Fixes #30