Fixes #2414 - Move puppet report processing code to the report processor

This creates a API route for POST:/api/reports which matches the GET
format for reports. Tests are updated, with the report model tests
moving to the puppet-foreman module (along with the report fixtures).
Fixes #3030 - require facter where necessary
fixes #1923 - matches vms on a compute resource to hosts
Fixes #3045 - Skip empty log arrays
fixes #1871, #1879 - add VPC support to EC2 compute resource

Based on patch from Romain Vrignaud <romain@yakaz.com>
fixes #2288 - Add oVirt/RHEV Quota Support
fixes #3046 - add NIC CRUD, power and boot operations API
fixes #1853 - Users now have a new filter to subscribe to new hostgroups
fixes #1719 - Add support for GCE(Google Compute Engine)
fixes #2996 - VM show screen syntax error on ruby 1.8
fixes #2944 - nic type selection for libvirt

defaults to 'virtio'

I needed this in my own setup because virtio was being buggy and would
crash my apt mirror VM. switching to e1000 fixed.

I don't particularly care for the device models being hardcoded. I would
of course prefer that it be queried from the libvirt itself, but I don't
see a way to do that.
Fixes #1848 - Link non-zero report summaries to the equivalent report search
fixes #3051 - Adds rake task to import puppet environments
fixes #2260 Allow ERB in ENC global / class parameters

Adds code to parse the global & class parameters, and adds a setting (default true)
 to disable this if needed. Also has some tests.
fixes #2989 - missing fields in host API output (API v1 and v2)
fixes #3059 - new mail rake task sends foreman reports to each user
fixes #2942 - plugin i18n support

This is first phase of plugins i18n support. More to come later:

 * Extraction from model classes
 * JavaScript extraction and support
fixes #2179 - validate the owner type, preventing the API returning errors for a wrong owner_type
i18n - fixing malformed strings
fixing transifex domain in .tx/config and scripts