Collapsing secondary_lookup into lookup.

This commit consolodates the 2 lookup methods on Razor::Data::Node.  It
also ensures that if no facts are configured for 'match_nodes_on_facts'
in the configuration file then the traditional workflow is unchanged. Ie

If config contains 'match_nodes_on_facts':
  - /svc/boot call will attempt to match node
  - If no match is found, booth the MK. DO NOT CREATE NEW NODE
  - MK does /svc/checkin (no ID)
  - Razor attempts to match the node based on facts
  - If no match, New node is created and then the checkin proceeds as
    that node. The id is included in the response for the client to use
    in susequent checkins
  - If a match is found, the checkin continues as that node, the hw_info
    for the node is updated and the id is sent back to the client to use
    on subsequent checkins.

If config does not contain 'match_nodes_on_facts'
  - /svc/boot call will attempt to match the node
  - If no match is found, Create a new node and send the id in the
    kernel boot params and boot the MK
  - If a match is found, do what ever the task assigned to the node
    dictates.
  - This is the tradidtional behavior.

Note that this PR depends on PR
https://github.com/puppetlabs/razor-el-mk/pull/18

Also note as in other commit, the microkerne_kernel_args sends the
register url and ID as separate params now.