Use source index to get completions from current package

NOTE: This could use some review as I'm not fully aware of the most 'idiomatic' ways of generating R objects / lists from C++ code.

This PR generates autocompletions from the source index when working on a package project.
How can I figure out what script the user is currently editing (most specifically, its path)? I was thinking I could nose around in `clientState()` either on the server, or else get it on the client and send that path as part of the RPC call, but I am surprisingly stumped on both accounts.