Fix setting of complex values.

Using the simple assumption of the key being two strings separated by a
dot results in a failure to correctly set more complex variables which
have an intermediate scope. Example: user.name vs branch.master.remote.

The git config tags these complex settings as [branch "master"] but
they are equally recognised as [branch.master] which is helpful as the
ini_setting puppet type does not really understand a section of "branch
\"master\"" and will not parse it back out correctly resulting in an
ever growing config file.

Hat-tip to @johnbellone for his solution to this issue in
boxen/puppet-git#22 which I've duplicated for ::global and ::local.