Copy token data on token creation

It's not a deep copy (which may be needed in some cases), but this should
prevent cases where the token data is being modified (like in the :createtoken
event) from contaminating the data source (like autocomplete or typeahead).
Fix some typos in some comments
Use jQuery.data to store token attributes

This should also resolve #102, as arbitrary data can now be set on the attributes and it is carried throughout the token's lifetime.
typeahead.js allows for custom display values

Pull the display value according to typeahead and use it for attrs.value.
Merge branch 'nondefault-typeahead'

* nondefault-typeahead:
  typeahead.js allows for custom display values