Add :who-calls and :calls-who to IDESlave

This lets IDESlave query for call trees, which are constructed from the
definitions in the IState.

:who-calls returns a list of disambiguations of names together with all
the definitions that refer to the name that was requested, repeated
recursively. :calls-who goes the other direction.
Add REPL commands for who calls who
Simplify protocol to IDESlave and :who-calls, :calls-who
Merge pull request #1070 from david-christiansen/whocalls

Support querying Idris about which functions call which other ones