Fix: MLPAutoCompleteTextField autoCompleteDataSource should be a weak reference

The data source is typically set to the view controller which has a strong reference to the text field itself. This breaks the possible retain cycle in this case.
Fix : Removed unnecessary init override which was causing double initialization
Fix : Added MLPAutoCompleteTextField maximumNumberOfAutoCompleteRows observer

This is needed so that we can easily alter the maximumNumberOfAutoCompleteRows in response to device orientation changes.
Fix : Handle autoCompleteTableView.hidden property change
Adjust autoCompleteTableView once auto complete terms get sorted

This is needed so that we can adjust the table view height to fit the auto complete list in case the count of terms is less than maximumNumberOfAutoCompleteRows. For example, if the maximumNumberOfAutoCompleteRows is 3, and the auto complete list contains just one term, we want to shrink the table view to just one row.
Fix : Nil out inputAccessoryView in closeAutoCompleteTableView
Fix : autoCompleteTableViewFrameForTextField frame calculation
Fix : Auto complete table view frame, if shown as keyboard accessory