Add an option to remote object called 'handler' to allow custom functions for remote

We added this because some users can have their own communication handlers, like we do.

Developer can do `.typeahead({ remote: function( query, cb ){ ... } })` as well.