Added `GetNodes` API

The API allows callers to inspect the commands, options, and arguments parsed from a doc string.

The ultimate goal here is to create an [F# Type Provider](https://github.com/adamchester/DocoptNetProvider), however this API should be useful anywhere people want to use [`GenerateCode`](https://github.com/docopt/docopt.net/blob/master/src/DocoptNet/Docopt.cs#L94) (and cant use the currently generated C# properties string). 

I am pretty sure `Node` is not the best possible name - but I thought it best to get feedback on that one.