make mcollective an entry point class in its own right

This means that we shouldn't call on mcollective::server and
mcollective::client directly anymore.  This makes writing the spec test
plausible, and brings us a little closer to the existing api of the
puppetlabs-mcollective on the forge.
add class/define documentation to make puppet-lint happy

Mostly though these are private classes so that's quite a lot of # private
class and # private define.  Puppet-lint is really just looking for there to be
a comment before the class line anyhow
shut up the 80-character line warning

80-character lines happen; they shouldn't be the norm, but there's no sane
mechanism for wrapping long string literals in puppet, so we'll just trust
ourselves to be careful.
things in spec/fixtures/modules are transitory - ignore