Perl module enhancements

This cleans up the `perl::module` type a bit:

* By defaulting the module name to the resource name we avoid some repetition
* Added version option (we aren't using it yet, but simple and seems appropriate)
* Check that sufficient version is already installed to avoid noise in puppet output and gain a little speed by avoiding the extra computation/network traffic.

What do you think?