Added a uniqueness constraint on fact_values table on fact_name_id and host_id

  - Host::Base#merge_facts now assumes single-value facts
  - added tests
  - fixed an issue around fact value updates