Fix type completion problem caused by incorrect position type.

When I made the changes to support 2.11 I replaced with the deprecated `Position.withSource(src, offset)` with a combination of `withSource` and `withPoint`. However, `withPoint` always creates a `RangePosition` even if the original object is an `OffsetPosition`. This confused the presentation compiler and resulted in member completion requests returning 0 matches.

I've also added a few new tests to `RichPresentationCompilerSpec` to cover completions.

Fixes #542.