Command autoloading feature

This PR actually mix with 3 stuffs.

  - Command autoloading feature
  - A bug fix when throwing an ExecuteMethodNotDefinedException
  - make ProgramName of an Application be its sufficient part of $argv[0] only

I can re-organize it if you want.
I actually like it as a default. Originally I thought user would not inherit an empty init()

But yes, it's risky to affect existing apps. I'm thinking if I want to make another derived class with this function enabled default.