Added a basic implementation of the PLAutocompleteViewController.

This class is a NSTableViewDelegate and follows the PLThemeable protocol. It includes an interface file with a NSTableView and the PLAutocompleteDataSource as the data source.

The PLAutocompleteDataSource follows the NSTableViewDataSource protocol. It has a NSMutableArray instance variable that will store the completion options. It implements the two required methods for this protocol.

The PLEditorViewController now has a PLAutocompleteViewController instance variable. In its setThemeManager: method, it calls the same method of the PLAutocompleteViewController object.
PLAutocompleteViewController exposes its tableView instance variable as a property. PLAutocompleteDataSource instance variable, completions, is now a NSArray property.
The autocomplete view now follows the text as it is input.

In the PLEditorViewController delegate method textStorageWillProcessEditing, the frame of the autocompleteViewController is set to align with the left of the current character immediately below it. This is done by getting the bounding rect of the glyph range from the edited text using the textEditorView layoutManager.

For testing, when the PLEditorViewController is initialized, it adds the autocomplete view as a subview and provides a dummy array of text as completions.
Merge branch 'feature-autocomplete' into feature-custom_autocomplete

Conflicts:
	Liasis/Liasis/TextEditor/PLEditorViewController.h
	Liasis/Liasis/TextEditor/PLEditorViewController.m
Autocomplete view is now hidden on start, is displayed when non-whitespace is entered, and hidden when whitespace is entered.
Autocomplete view now hides on delete to temporarily fix an exception when determining location after deletion.

Moved the logic for positioning the autocomplete view into a separate method in the PLEditorViewController.
Implemented a workaround solution to get the autocompletion window to fix its x-position at the start of a new word.

PLEdtiorViewController now has a shouldSetAutocompleteViewPosition instance variable. The following is the order of events:

1) Set its value is YES if the previous character entered was whitespace and the current input is not (determined in textView:shouldChangeTextInRnage:replacementString).
2) Here, the text has not been entered yet, so we cannot use the layout manager to determine the glyph position.
3) The previousEntry instance variable is reset.
4) If shouldSetAutocompleteViewPosition is YES, set the position in textStorageDidProcessEditing: method -- this is AFTER the text has been entered so we can use the layout manager properly.
PLEditorViewController's textEditorView no longer resizes its subviews: the autocomplete view position now remains fixed when the window is resized.
Properly check row index against length of completions in PLAutocompleteDataSource.

This prevents an exception that was thrown calling tableView:objectValueForTableColumn:row.
PLEditorViewController now populates the autocomplete view.

In the textStorageDidProcessEditing: method:

1) Determine the partial word being entered. This uses a new method in the PLEditorViewController, previousWhitespacePosition:fromPosition: to iterate backwards from the current location until finding the previous whitespace or newline character.
2) Use the partial word to search for matches in the autocompleteVariables instance variable. The logic for finding completions in a string has been moved to the completionsInString:forPartialWordRange: method.
3) Set the completions instance variable of the autocompleteViewController's tableView dataSource with this array of completiosn.
PLEditorViewController now reloads autocompletion suggestions when the autocompletions view is not hidden.

No longer initialize autocompleteViewController with dummy variables.
Removed old autocomplete approach using the complete: and textView:completions:forPartialWordRange:indexOfSelectedItem methods.
Moved the logic for displaying the autocomplete view to PLAutocompleteViewController and added support for changing its height as a function of the entries in the table view.

Added a setDisplayAutocompletions: method to the PLAutocompleteViewController that calculates the appropriate height and hides/unhides the display depending on the input argument. PLEditorViewController now sends this message when it needs to display the autocompletions view. PLAutocompleteViewController now hides the scrollers when the number of entries is below the height threshold (i.e. the max number of rows).
Fixed exceptions that occurred on deletion in PLEditorViewController.

For clarity, moved the logic for determining the partial word range to a new method partialWordRange:atPosition: and cleaned up the previousWhitespacePosition:fromPosition method. In textStorageDidProcessEditing: the autocomplete view position is now only determined on an addition, not deletion. This fixes one of the exceptions occurring on delete when determining the glyph position of a deleted character.
Fixed an issue in calculating the partial word range used to generate a list of autocompletion options.

The partial word range included in the PLEditorViewController partialWordRange:atPosition message needed to be offset by the editedRange length.
The autocomplete view no longer displays if the only completion is already typed in entirety.

PLEditorViewController now compares the completion (if it is the only one) returned from completionsInString:forPartialWordRange. If the word matches the currently typed string, the completions sent to its autocompleteViewController are an empty array.
Directional navigation and selection of the autocomplete view is now supported when the view is not in focus.

Added three methods to the PLAutocompleteViewController supporting moving the selection up/down and returning the selected completion. PLEditorViewController now implements the textView:doCommandBySelector delegate method to intercept the directional arrows, return, and escape. Respectively, these options move the selection in the autocompletion view, insert the remaining portion of the selected word that has not been input to the text view, and hide the autocomplete view.
The escape key now toggles the autocomplete to display and hide.

In PLEditorViewController, intercept the cancelOperation: selector to toggle the hidden status of the autocomplete view.
PLAutocomplete view width is now calculated based on the autocomplete entries.

The minimum width is set to that of 40 characters as determined by the font width. The maximum width is determined by finding the maximum cell width in the table view column.
Disabled horizontal scroll bars and elasticity in the autocomplete view.