Add destroy method

This will allow typeaheads to be reinitialized:

```javascript
// create
$('.typeahead').typeahead({ /* ... */ });

// destroy
$('.typeahead').typeahead('destroy');

// create again, this time with different datasets/settings
$('.typeahead').typeahead({ /* ... */ });
```

I need to add some tests, but the code should be good to go. It'll fix #41.

Also, I fixed a bug that prevented the undocumented `ttl_ms` option from being set to `0`.