Fixed an off-by-one error in PLEditorViewController lineNumberForPosition() function.

The line number was one too high when the position was at the end of the string and not preceded by a newline character.
Replaced delegate method for autocomplete with a xib file option.

The tableView:shouldEditTableColumn:row: method in PLAutocompleteViewController always returned NO. Removed this method and instead disallow editing from the xib file.
Added a NSPopUpButton subclass (PLNavigationPopUpButton) to LiasisKit that uses the data source and delegate paradigms.

Most logic from the navigationPopUpButton in PLEditorViewController has been moved into the subclass. PLEditorViewController now conforms to the new PLNavigationDelegate and PLNavigationDataSource protocols. Its xib file now assigns the identity of the popup button to a PLNavigationPopUpButton.
Added navigation images in the navigation popup button.

Updated the parse module to support differentiating between functions and class methods. This is done through a new ast.NodeVisitor subclass used in the navigation method of the Parser class. The PLPythonIntrospectionController has been updated to process the returned namedtuple containing the name and type of each navigation item.

Added a new class, PLNavigationItem that is returned from the PLPythonNavigationController navigation method. This simplifies its interface with PLEditorViewController, allowing it to provide the title of a navigation item and its image. PLEditorViewController now implements the rangesForNavigationPopUpButton:imageForRange: data source method.