[WIP] Letter Case Autocorrection

e.g. GGFLoat turns to CGFloat on pressing space

for now replace when dismissing completions if there was one case-insensitive exact match
[WIP] Wrong Word Order Completion

e.g. `makerange` now matches both `NSMakeRange` and `CFRangeMake`

for now just try to match the string repeated twice (with ranges matched in the first half eliminated from the second), which seems slow
Keep selection when typing more matched letters (#41)

i.e. when previous selection is still on the list and has the same number of matched ranges
Declare -[NSArray firstObject] in a category.

Fixes #42
Remove redundant count checks.
Actually check range location and length when deciding wether to keep selection (#41)

otherwise if *N*SNotFound was the top match for *N* after typing *NO* it would be kept as NS*No*tfound
Minor refactoring of Completion Session + Fuzzy

- extract a helper for getting selection
- extract a helper for retrieving search set
- extract a helper for filtering by score
Fix completion list window positioning with score column enabled

- now it is aligned with typed text
Do not try keep the selection when it was the best match (#41)

this covers the case when `str` matches `stringWithFormat:` best,
however `string` matches `string` best due to complete match
Improve range conversions

- handle selectors with repeated segments (-test:test:test:test:)
- handle selectors with empty segments (-first::::last:)
- handle other separators than :
- improve performance a little
Correctly underline usefulPrefix if it spans multiple segments
Hide insertion point if completion isn't prefix and inline preview is shown
Declare -[NSArray firstObject] in a category.

Fixes #42
Add option to disable cursor hiding

I imagine some may find it confusing
Merge branch 'autocorrection' into develop
Add autocorrection options to Settings under 'Experimental'
Handle case when plugin is loaded after application finished launching
Handle Nib loading failure after an update
Add Xcode 6 Beta UUID
Trick `DVTTextCompletionInlinePreviewController` into using `name` more directly

as in Xcode 6 beta the choice no longer depends on `rangeOfFirstWordInString:`