Expose last option added via last().

So that option and command builders can modify the last option added.

This is necessary as option() and command() return the program and some
builder logic needs to modify the option or command after addition, for
example the command module defines options and commands from markdown
documents and must merge other data such as converter() with the last
option added.
0.5.10
Expose initialize().
0.5.11
Expose mutators.
0.5.12
Add parent reference to child commands.
0.5.13