Force vector arguments to actually be vectors.

This allows the caller to pass in a bare tuple but forces it to be three
items long and stores it as a real vector instance.
Write both ASCII and Binary formats.