The autocomplete results are now filtered with text input rather than reparsing the source.

Added two new methods to facilitate this, filterCompletions and filterCompletionsWithString:. These methods use NSPredicate to filter the results in the autocomplete view to include only those that begin with the currently entered text by the user. This improves efficiency when the autocomplete view is already displayed by limiting the number of times that the source code needs to be parsed.

In the textDidChange: method, if the autocomplete view is already displayed, filter the results; otherwise, update the completions by parsing. When text is deleted in the textView:doCommandBySelector: method, the completions is updated by parsing.

Added a method selectCompletion: to help maintain the selected entry in the autocomplete table after filtering. This method searches the table view for the particular completion and selects it.
Can now tab-advance completions in the autocomplete table.

Tab-advancing inserts the minimum number of characters in the selected completion such that its starting characters match others in the list. If the remaining characters in the selected completion are unique in the list, it is inserted. Added a new method to PLAutocompleteViewController, advanceCompletion, that is called on pressing tab in the textView:doCommandBySelector: method to handle this feature.
Autocomplete table view always selects the zeroth row when initially displayed.

In the PLAutocompleteViewController setDisplayAutocompletions:withAnimation: method, set the selected row to zero if displaying the table view.
Simplified parsing timer in PLEditorViewController.

Removed the startParseTimer and stopParseTimer methods. Since this is a repeating timer, it is simply started in the initWithNibName:bundle: method and stopped in the dealloc method.