ensure we fill the `name´ also

when using title_patterns, make sure we also fill the name.
for this purpuse, we add an extra set of ()s around the pattern.

we move validation into the type, out of the property(:value). a note of
a bit of a ruby quirk:

   :absent =~ /.+/
   => 0
   if 0 then puts 'truth' end
   => truth

pull in documentation from git::config
replace the git::config with git_config call

retain the contract of the type (including the section.key parsing)