(#108) Update Modulefile to work when built outside the module root

Other tools, like `puppet-librarian`, try to build the module while running
outside the root of the checkout.  This caused some problems with version
number extraction and changelog generation, since the Modulefile assumed it
ran at the top of the checkout.

This updates that to use the full path to the various scripts, ensuring that
we build correctly when invoked from the outside.  Mostly, that means using a
path relative to the Modulefile itself.

This closes #108.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
Remove duplicate headers from generated changelog

When the HEAD of the module checkout was a final release, such as 0.6.0, the
changelog generator would emit a duplicate header.  It was treating "0.6.0" as
the development version, and then as the head of the previous release.

This was technically correct, but useless, since there was no distinction
between the two, and so the second "in development" changelog contained
no content.

This simply skips a header when the top and bottom are the same tag, since
that will always be an empty set.  That eliminates the duplicate header, but
keeps building a correct changelog when an in-flight version exists.

Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>