fixes #2431 - handle fact uploads where host is missing $fqdn
Fixes #2414 - Remove Puppet from core
Move fact_values to api v2 and use json
Add sample JSON/api-v2 based node.rb for reference

This should be rebased out before merge to core and the real node.rb
updated in the installer. It is included here for now to keep all the
puppet/json work in one place.
Round 1 review comments; fix error handling
Move fact upload endpoint to /api/hosts/facts
Fix facts tests, requires #822 to function
Move name to API first-class parameter
Fix error handling on /hosts/facts API actions