Fix Issue #3863 - jump-to-def goes to exports line.

When the result of jump-to-def looks like:
exports.foo = foo;

we now will try and jump-to-def on the rhs, as that's what the user most likely really wants.  Jumping to the exports line is rarely useful.

When we get the response for a jump-to-def, if it looks like we're jumping to a member expression like the example above, then we will grab the RHS, and trigger another jump-to-def on that, which should take us to the correct place.
Added unit test for jumping to a function in exports.
Modified _waitForJump to wait until the jump promise is done, rather than checking that the cursor had changed.
Updated 1 other test which was looking at everything that was exported from the test module.
Only go to the original def when dealing with a Function.
code review cleanup
Merge pull request #4254 from eztierney/iss-3863

Fix Issue #3863 - jump-to-def goes to exports line.