Add Document#dup

# Why?
This is generally a good thing to have; provides functionality that would be expected for an OxM.

# What?
- behaves in a similar manner to ActiveRecord
- performs a kernel deep dupe and then strips out the id