Allow make.conf variables to be redefined

In cases where node definitions may be inheritied from others, both of
which may define the same make.conf variable, it was not possible for
both values to appear in the resulting file. This change differentiates
the resource name from the variable name, allowing additional
definitions for the same variable by changing the resource name and
specifying the variable in the target parameter.

In order for this to be effective, however, subsequent definitions must
a) appear after the original definition, and b) contain a reference to
the original definition in their content. This change permits a) by
exposing the order parameter for the underlying concat::fragment
resource. Users must take care to satisfy b).

Example:

    host basehost {
      portage::makeconf { 'use':
        ensure  => present,
        content => 'mmx sse sse2',
      }
    }

    host hosta inherits basehost {
      portage::makeconf { 'myuse':
        ensure  => present,
        target  => use,
        content => '3dnow 3dnowext -X',
        order   => 20,
      }
    }