Change parameter checks and other fixes.

This commits contains the following modifications:

- Change parameter checks from number of parameters to content length of
  parameters. A command called with an empty string in the first parameter
  still *receives* 1 parameter, so the number of parameters is 1.

- Change commands that may be aliased to use the builtin / non-modified
  command, using the `command' prefix (e.g. `git' -> `command git').

- Changed the initialization sequence of the plugin, from using a function
  to being inline in the script. It also uses the $0 parameter which is
  set when the script is sourced and it contains the script filepath.
  Example: source test.sh -> in test.sh, $0 will be 'test.sh'

- Various style fixes, including missing space and some comments.