All modules ported over

I've ported all of the modules over to the use the common module code.

This should mean they are both easier to work on and faster.

--Michael

I missed one -- porting the virt module now.

and file...

Ok, all modules done now (including file). We've accepted 4 new
database modules recently and are smaller than before we accepted
them! That is pretty awesome. Two modules actually got longer
(ohai and facter) but they got faster along the way too because they
now transfer less files.

There are probably a few consistency things we can use here and there
still, like the new BOOLEANS cast in library/service (as added today
to intelligently grok "yes|no" but also "true|false" and such) but all
in all they are pretty minor. Everything now has a main function and
an argument spec. I think I noticed today that if something is in
argument spec and not set, it doesn't get auto-set to None. I'll
probably fix that. Some modules could be broken up into subfunctions
and cleaned up some more, but I probably *won't* fix that now, but I
would encourage folks working on modules to clean them up where they
think appropriate. Also now pretty much all modules should accept
"name" for consistency (and they do), and the database modules work
like each other (which is great too). Good stuff.

virt & authorized_key were tested only lightly, file is obviously very
important too though, please don't hold back on testing them.