Line wrapping and spelling correction.

Just a tiny and small change.
Change the way that qcd.py is using optionparser.

I like the idea behind optionparser.py, but it seems a bit rigid.

So, I have changed the impl so that from the main program (qcd) a global dict
is used to contain all the options for later use. In this way, is a bit more
explicit that a function is accessing to a global stash rather than making
magic. Now the code says:

    options = dict()
    def initialize_database (writeable = False):
       file = expanduser ( options["dbfile"].value )

Instead of:

    def initialize_database (writeable = False):
       file = expanduser (file_option.value)
    ...
    ... somewhere below ...
    ...
    file_option = Option(...)

I have also changed grouped all the calls to optionparser.py in
createQcdCmdLineParser(), which will return a parser, that will be called
afterwards.

Last, I using a pseudo "main" to separate the declarations from the actual
script imperative commands. Also this is good, if we want to import this script
and do some tests on it.
Refactor the way the options are handled by the opt parser.

After this change the OptionParser has the implementation for the syntax error
function, which is passed (by using the object reference) to the cmd_option
callbacks in the parsing/actions stage.

I have substituted the OptionParser::add method by a couple of methods
addConfiguration and addCommand, which are used from the program, and will act
as factory methods which will bild the appropriate option and store it in the
OptionParser::options list for later use.

I have also added a method, getOption, which will look for an Option with a
certain key at the OptionParser::options list.

Lasty I have introduced a first fix for avoiding the problem with bdb that adds
a extension ".db" to the created file, which made, all subsequent executions to
fail.
Minimises the knowledge that the traits(callbacks) need to have to call syntaxError

Instead of calling the callback with the reference to OptionParser, I call it
with a reference to the OptionParser instance method syntaxError.
Fix listing problem in Mac OS

By default, in Mac Os, the db used by anydb does not support itemize, so the
list command didn't work.

With the fix, everytime one need to list the commands, if the databse selected
by anydbm to create the db file, is dumbdb or bsddb185 (as I had in my
machine), then I'll use list comprehensions to create the same output as
itemize.
Fix mistake, save should call add with the ref to syntaxError
Add feature to support qcd in multiple machines that share the same $HOME

I'm just creating different databases for each machine where you can execute qcd.

I have considered each machine db as completely independant of each other.
Perhaps in the future, I may add an option to qcd, to support global
configurations for these machines.
Add comment into getAnonymousKey

And also change assignment from:
   key = args[0]
   db[key] = args[1]

to:

   db[args[0]] = args[1]