history and method options

- history option: slugs can have a history
  - old versions are re-used
  - slugs are unique over all versions
  - newest version is default

- method proc option: slug method can be a Proc
  - proc is called with the record and the to_slug value as params

+ specs for both.