Update vignette, minor bugfixes (see below)

* eml_write cannot use metadata(dat) in function argument, gives error
  "promise under evaluation".  Instead, allow metadata = NULL, and
  if dat is a `data.set`, extract metadata; otherwise if metadata
  is NULL, launches the wizard.

  Note: this means we can & should probably remove the "metadata"
  method for the the `data.frame` class.

* Some type class issues addressed. We cannot automatically cast
  a csv column to "ordered" class, since no coercion method exists
  from "character".  Currently, we intercept this case and manually
  cast it to "factor", which is not ideal.  We should instead get
  the ordering from the EML and cast it properly (after reading in
  as a factor).  We still need to handle reading in other factor
  types anyway.

*  read.csv expects a character string for colClasses, while if
  an object has multiple classes, our col_classes method returns a list
  (from sapply, e.g. ordered is class c("ordered", "factor").  We
  should just coerce this into a character string using the top class
  level; allowing R to leverage any defined coercions to a custom class.
  Instead, we read this in without the column class.

*  Also added a method to support coercion of physical to data.frame
  without specifying the 'using' colClasses argument. This appears in
  eml_read.

* Fixed the show method for eml class.  (to show data.frame too)

* Fiddled handling of creator/contact as string.  FIXME still
  needs to support handling from 'person' type directly.
  eml_config now provides ListOfCreator as default_creator,
  simplifying the calls in write_eml.