The cursor inside the autocomplete view is now always the arrow.

Before this commit, the cursor was the I-bar used in text views. This fix requires two steps:

(1) The documentCursor of the scrollView is set to the arrow cursor. This sets the cursor to the arrow when the user clicks inside the autocomplete table view.
(2) A NSTrackingArea is set inside the autocomplete view rect every time it is displayed, which triggers on NSTrackingMouseMoved. Inside the mouseMoved: method, the cursor is set to [NSCursor arrowCursor]. This tracking area is removed and replaced every time the autocomplete table is displayed.
In retrieving autocompletion options from the text view's delegate, PLAutocompleteViewController no longer checks if a delegate exists first.
Fixed an issue where deleting the final character in a document threw an exception.

PLAutocompleteViewController now includes a clause in textStorageDidProcessEditing for when the document contains no characters to turn off the autocomplete display.
Moved logic for setting the autocomplete view size from setDisplayAutocompletions:withAnimation: into a separate method setAutocompleteViewSize.
Minor refactoring of if/else logic in setDisplayAutocompletions:withAnimation: for improved clarity.
PLAutocompleteViewController now exposes a toggleDisplayAutocompletions method rather than setDisplayAutocompletions:withAnimation:.

This simplifies the API for using this view controller and provides a more consistent behavior.
Added a disappear animation for the autocomplete view that is used in setDisplayAutocompletions:withAnimation:.

The disappear animation fades the view out and sets it to hidden after a delay.
Improved handling of autocomplete view appearance and disappearance.

The view's hidden attribute is no longer used; instead, its opacity is set to display or hide the view. PLAutocompleteViewController now provides a method autocompletionsDisplayed that returns if the autocompletions are displayed. This method is used by the PLEditorViewController rather than checking the return value of isHidden on the autocomplete view.

The setDisplayAutocompletions:withAnimation: method now uses CATransactions to hide and show the autocomplete view. Therefore, the disappearAnimation method is removed along with the NSInvocation method for setting the autocomplete view to hidden after its disappearance animation completes. This fixes minor display issues in animating its disappearance.

The NSTrackingArea is now removed when hiding the autocomplete view.
Deleted repeated method in AssignParser class from parse.py.
All top-level function and class definitions are now added to the autocompletion list.
The input arguments in a function are now added to the autocomplete variable list when the line number is within the function scope.
Fixed an issue in stopParseTimer method of PLEditorViewController where the completionTimer was stopped rather than the parseTimer.
Added a completion timer to the autocomplete view controller.

Removed all logic for the completion timer from PLEditorViewController. PLAutocompleteViewController now implements a basic timer that is used within the textStorageDidProcessEditing: notification method to display the autocomplete view.
PLEditorViewController now parses text in its textView:completions:forPartialWordRange:indexOfSelectedItem: method rather than after each edit in textStorageDidProcessEditing: