added item as object option (json objects), destroy method, override ren...

...der for templating

* added storage of item in data('ta-data-value') instead of attr('data-value') to accomodate for item objects like json (vs item as string)
* add valKey to defaults to accommodate item as object (vs item as string)
* for dev added jshint asi: true to disable semicolor checker of jslint
* added destroy method with teardown
* added stoplisten method to off events (called by destroy)
* added .typeahead.instance namespace to events for easy removal
  e.g. focus.typeahead.instance
* added override for render and select methods to provide custom template