Add a first stab at an ArtefactForm class

To make draft tags appear in the artefact edit form, we have to pass 
an argument of `true` to the tag methods on `Artefact`. 

To make this play nice with Rails' form helpers and conventions, I've 
tried to wrap this behaviour in a form object. 

There's a bit of weirdness going on here - until I added the 
`alias_method` call for `send`, the overridden methods would not be 
called.

This is very much a first pass and this commit will probably be squashed.