Added new optional ACEAutocompleteDataSource method for getting string value for an object

The current way of putting a custom object as a result and conforming to the protocol ACEAutocompleteItem was not enough. The custom objects I was putting in where NSDictionaries that did not conform to protocol. This change allows for another way to define what string value gets shown in the autocomplete results.

Priority can be changed. It just made more sense to me to have the data source get checked first.