Added Item implementation and switched Document to use it
Actually switched Document to using the new Item class this time, and
also added a Factory method to wrap a Vector of item or column values