Update flag.go

Make boolean flags more in line with standard UNIX boolean flags.
Vary flag prefix based on name length
Merge pull request #33 from dam5s/flag_tweaks

Flag tweaks
Merge pull request #32 from dam5s/print_usage

Show usage and exit with error whenever arguments parsing fails
JMS-34: App.Run() can now be run multiple times.

- Added a method for looking up commands
- Using some logic to make sure default flags are not added more than
  once
Merge pull request #35 from codegangsta/JMS-34

JMS-34: App.Run() can now be run multiple times.