Move ShellAction out of IShell scope

ShellAction is moved outside of the "protected" scope of IShell, and
also has been renamed to IShellAction to signify an interface.
Update gitignore
A few adjustments to argList handling

Some helpers to extract an argument. Run is now not passed the argument
list, and this is instead handled internally by the ShellAction
interface.
Basic Calculator Test

Add another test application for a basic calculator with addition and
subtraction currently.

This application will demonstrate the preferred structure for shell
applications.  I'll also use this to test the shell and keep developing
up features.