(PDB-1038) Include a new namespace for ezbake to use for service startup

This provides a new namespace: puppetlabs.puppetdb.main that will be used to
startup the PuppetDB service. This avoids the need to include the sub-command
'services' in the ezbake configuration templates, avoiding the need for
a new parameter to be added to ezbake to support this 1 edge case.

The new namespace contains a single function -main, that effectively wraps
the sub-command 'services'.

We also noticed that the core.clj file had a gen-class declaration, since
we don't use AOT this is not needed and is being removed.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #1167 from kbarber/pdb-1038-ezbake-entrypoint

(PDB-1038) Include a new namespace for ezbake to use for service startup
Ensure we use our own vendored directory for gems

We were using the global gemset which is a bad thing, this patch fixes that.

This was causing issues when a fog-core gem that was bad had been permanently
'cached' due to the use of a global gemset. This will slow the build down
and create another potential place of failure, but it is more correct.

Signed-off-by: Ken Barber <ken@bob.sh>
Merge pull request #1168 from kbarber/maint/master/tests-use-vendor-path-for-gems

Ensure we use our own vendored directory for gems
(PDB-722) Added validation for in/extract fields in that are passed in vector form. Covered with tests.