Replace syntax checks with puppet-syntax

Use an external gem to check the syntax of Puppet manifests and templates
(and hiera YAML files, but these won't exist in most modules).

This gem has some additional features from the original checks:

- Configurable exclude paths.
- Catches logged warnings from Puppet and Ruby.
- Outputs any errors encountered.
- Test coverage (in addition to the parser face).

I wasn't previously aware that these checks were in puppetlabs_spec_helper
until we got a bug report in gds-operations/puppet-syntax#13 to say that
`PuppetSyntax.exclude_paths` wasn't working correctly.

It turns out that Rake was running the :syntax tasks from both projects and
that psh, where you can't configure exclude paths and no error message is
printed, was returning a non-zero exit code.

The :syntax task has been replaced by a require for puppet-syntax and the
exclude paths setup to match puppet-lint. I haven't wrapped this in a task
like :lint because it behaves non-deterministically; if the task from
puppet-syntax is run before this one then `exclude_paths` won't be set
correctly.

The :validate task still checks Ruby files and then calls :syntax in place
of the shell commands it previously ran. There's quite a lot of overlap
between :validate and :syntax. In the future it might be worth adding Ruby
syntax checks for Puppet plugins to puppet-syntax and deprecating the
:validate task.
Support future parser for syntax checks

Enable puppet-syntax's future_parser option if the FUTURE_PARSER environment
variable, described in this project's README, is set to "yes".
Fix rspec 3.0 error when loading spec_helper

Without this patch the spec helper fails to load with RSpec 3.0 because
a method that does not exist is trying to be aliased.  This is a problem
because the spec helper is incompatible with RSpec 3.0 and it would be
nice to support the latest rspec version when developing modules.

This patch addresses the problem by aliasing the methods only if they
exist.
Merge pull request #74 from jeffmccune/rspec3

Fix rspec 3.0 error when loading spec_helper
Merge pull request #73 from dcarley/use_puppet_syntax

Replace syntax checks with puppet-syntax
Release 0.8.0

Summary:
This release uses the new puppet-syntax gem to perform manifest
validation better than before! Shiny.

Features:
- Use puppet-syntax gem for manifest validation rake task

Bugfixes:
- Fix compatibility with rspec 3
Merge pull request #75 from hunner/release_0.8.0

Release 0.8.0