Support Secondary Identification of Nodes

Razor will have a second go at identifying an unknown node using the
full compliment of facts available once the MK is loaded.  To support
this the following behaviour changes have been made:
  - The node id is now a separate kernel command line option as opposed
    to being part of the register URL.  It is added to the register URL
    when it is available.
  - The environment config lookup is no longer valid now that the script
    is executed on a timer as opposed to running as a daemon.  The ENV
    is new and sanitised on each run.  'Runtime' configuration is now
    stored in a file in /tmp as json.  If the ID is learned through a
    checkin, it is stored in here.
  - If no ID is appended to the register URL (/svc/checkin), that api
    will return one in its response.  It will be saved for subsequent
    checkins.