Auto-complete function signatures - Part 2

@Benglin - I have split up PR: #2688 into smaller PR's, of which this is the second. This is independent of the first: https://github.com/DynamoDS/Dynamo/pull/2735 but still better to review them in order.

This one has to do with some code refactoring of the ```Mirror``` APIs plus addition of new ones for code completion for function signatures.
Have you considered overriding ```ToString``` instead? It seems to be a perfect fit for this.