(GEP-165) Speed up the CSS Dom formatter

Formatting large files is a fairly slow process. On older laptops
it can take several seconds to format a moderately large manifest.
Profiling shows that the culprit is in Select.NodeSelector.match().

This commit will speed things up a lot. The main reason for the
speed-up is that the constant predefined EnumSet instances are no
longer wrapped in a Collections.unmodifiableSet() since that
wrapper effectively removes all benefits of using EnumSets. The
underlying cause can be found in the RegularEnumSet and the
first two lines of the containsAll() method:

     public boolean containsAll(Collection<?> c) {
        if (!(c instanceof RegularEnumSet))
            return super.containsAll(c);

Wrapping the EnumSet will result in super.containsAll(c) which in
turn will do a sequential iteration over the elements and call the
contains() method on each. The contains() method in turn will check
the class of the element befor checking if the element bitmap overlaps.

Compare this to just comparing the 'elementType' contained in both
sets once and then checking for bitmap overlap.
(GEP-166) Remove project specific Module preferences

This commit removes the "Puppet Forge" page and "Potential Problems"
page along with their parent "Module" page from the project specific
preferences. They were never intended to be present there and adding
them was a mistake. Changing them has no effect since no code will
check their settings.
More flexible API on IFolderDiscriminator.
Merge pull request #27 from puppetlabs/issue-166

(GEP-166) Remove project specific Module preferences
(GEP-113) Add deprecation warning for use of import.

This commit adds a new 'ImportIsDeprecated' validation issue and
code that will report when the import keyword is used. The severity
can be controlled by a validation preference which is set to 'warning'
by default for target platforms below 4.0 and hard-coded to 'error'
for 4.0 and above.
(GEP-113) Add manifestdir preference

This commit adds both a global and a project specific setting for
the preference "Manifest Directory". The setting can then be used
in the "Search Path" as $manifestdir. The default search path
is changed to include '$manifestdir/*' instead of 'manifests/*'.
Merge pull request #28 from puppetlabs/issue-113

Issue 113
Merge pull request #26 from puppetlabs/issue-165

(GEP-165) Speed up the CSS Dom formatter
W.I.P.