Use Regex against Facts for setting default hostgroup

This change would allow the use of a regex against any given fact rather that just the hostname of the machine. 

The first match found  as listed in the config would be applied to the machine. As ruby 1.9.x retains the order of a hash read from config, this should be a reliable way of establishing the priority.

Eventually I would like to perhaps do compound comparisons (If factA = regex and FactB = regex), but this seems like a good start.

Open to any and all suggestions!
Thinking about it, we can probably make this much more readable by breaking it down into some separate functions rather than one massive loop. As a bonus we can then use "return <foo>" in the function to break out of the loop once we have a match. Eg:

```
new_hostgroup = find_match(facts_map)

...

def find_match (facts_map)
  (psuedo code here) facts_map.each do |group, fact|
    return group if group_matches?(fact)
  end
end

def group_matches?(fact)
  (more psuedo code resulting in true/false)
end
```

what do you think? feels more readable that way, to me anyhow...