(PUP-2399) Add mailalias acceptance tests

Add basic acceptance tests for mailalias type. This adds acceptance
tests for create, query, modify, and destroy.

The tests assume that the mailalias type manages the default
/etc/aliases text file as well as updating the binary database
that the aliases file is the source for.
(PUP-2399) Remove testing of newaliases

As per PUP-1143, the mailalias type does not manage the state of
the aliases.db file via 'newaliases', 'sendmail -bi', or any other
mechanism due to compatibility issues. Since this is the case,
all testing of the aliases.db file have been removed from the
mailaliases tests in this commit.
(PUP-2747) Add support for multiple profilers

This commit makes a slight modification to the profiling system,
such that we can register multiple profilers at the same time.

This allows callers to register their own profiler without
worrying about collisions with profilers that might have
been registered by other parts of the code.
(maint) Refactor shared example from parser/compiler_spec

Previously this spec's tests were a shared_example that had been shared
between runs with parser=current and parser=future.  The future compiler
tests were moved out into
spec/integration/parser/future_compiler_spec.rb in 7a6a7d8.  This maint
fix just removes the unused rspec construction of shared_examples_for
from around the specs in parser/compiler_spec, since they are only being
run against the current parser now.
(PUP-2756) Fix test of future parser evaluation of empty string

An empty string is no longer undef when parser is future, and will
evaluate as true in a conditional test. This commit fixes a test that
was failing this check for the future parser. This, and several like
it, was an acceptance test which was just compiling a simple manifest
with some conditional logic to test evaluation of conditionals. Since
acceptance tests are expensive, I've pulled them back into the
integration specs.

The actual test being fixed is
acceptance/tests/apply/conditionals/should_evaluate_empty.rb which is
now the two 'evaluates empty string as <false|true>' specs in the new
spec/integration/parser/conditionals_spec.rb
Merge pull request #2599 from johnduarte/pup-2399-mailalias-acceptance

(PUP-2399) Add mailalias acceptance tests
Merge pull request #2764 from jpartlow/issue/master/pup-2756-fix-undef-acceptance-for-future-parser

Issue/master/pup 2756 fix undef acceptance for future parser
(maint) Stop using ambiguous Manager name

Manager is not a very good name for a class. What does it manage? What
does it mean to manage that? How does it manage? Who manages the
manager? This renames the Profiler::Manager class to just
Profiler::AroundProfiler because it modifies profilers to work so that
they automatically go around a block. This is then the interface exposed
by the Puppet::Util::Profiler singleton.
Merge branch 'pr/2758'

* pr/2758:
  (maint) Stop using ambiguous Manager name
  (PUP-2747) Add support for multiple profilers
Merge branch 'master' of https://github.com/puppetlabs/puppet