(maint) Skip IPv6 examples that cannot pass on MRI 1.9.3-p327

Without this patch applied the following examples fail on MRI
1.9.3-p327, but not other versions.

Failures:

  1) Puppet::Network::AuthStore::Declaration when the pattern is a valid IP such as ::2:3:4:5:6:7:8 should match the specified IP
     Failure/Error: @declaration = Puppet::Network::AuthStore::Declaration.new(:allow_ip,ip)
     ArgumentError:
       invalid address
     # ./lib/puppet/network/authstore.rb:252:in `new'
     # ./lib/puppet/network/authstore.rb:252:in `parse_ip'
     # ./lib/puppet/network/authstore.rb:171:in `pattern='
     # ./lib/puppet/network/authstore.rb:151:in `initialize'
     # ./spec/unit/network/authstore_spec.rb:304:in `new'
     # ./spec/unit/network/authstore_spec.rb:304:in `block (4 levels) in <top (required)>'

  2) Puppet::Network::AuthStore::Declaration when the pattern is a valid IP such as ::2:3:4:5:6:7:8 should not match other IPs
     Failure/Error: @declaration = Puppet::Network::AuthStore::Declaration.new(:allow_ip,ip)
     ArgumentError:
       invalid address
     # ./lib/puppet/network/authstore.rb:252:in `new'
     # ./lib/puppet/network/authstore.rb:252:in `parse_ip'
     # ./lib/puppet/network/authstore.rb:171:in `pattern='
     # ./lib/puppet/network/authstore.rb:151:in `initialize'
     # ./spec/unit/network/authstore_spec.rb:304:in `new'
     # ./spec/unit/network/authstore_spec.rb:304:in `block (4 levels) in <top (required)>'

These failures are a result of Bug https://bugs.ruby-lang.org/issues/7477 in MRI itself.

This patch addresses the problem by explicitly excluding the examples that will
fail because of the bugged Ruby interpreter.  The patch targets very specific
patch level versions of MRI so that future and past MRI versions will
explicitly fail, notifying us when the root cause of the issue is resolved.
(maint) Use conditional pending mechanism for ruby issue 7477

Without this patch Daniel's concern isn't being addressed, "It seems
like this would be much better handled with the "conditional pending"
mechanism that rspec provides." [1]

This patch switches over to conditional pending messages to disable the
examples.

[1]: http://goo.gl/5VzBa
Merge pull request #1367 from jeffmccune/fix/master/ipaddress_specs

(maint) Skip IPv6 examples that cannot pass on MRI 1.9.3-p327
Fixup use of conditional pending

Without this patch the tests aren't actually getting marked as pending
because exceptions are being raised in the before blocks.  This patch
addresses the problem by switching the declaration references to a lazy
evaluated let method rather than a preemptive before block.  This
prevents the exception and allows the pending methods to execute.