Remove ruby-wmi dependency
Add missing requires that are needed outside of tests and normal binary execution
Move Windows-only deps to Windows section
WMI utility refactoring
Simple WMI reader functionality
Use wmi-lite gem dependency for wmi access
Use wmi_ole_object method instead of wmi_object hash key
Move wmi-lite to pre-release RubyGems gemspec instead of git dependency
Update to 1.0.0.rc.1 to fix Ruby 1.8.7
[OHAI-584] Update systemu to 2.6.4 for Ruby 2.1.x optimization
Pin wmi-lite to ~> 1.0
Merge pull request #335 from opscode/adamed/wmi-lite

Replace ruby-wmi dependency with wmi-lite gem to address Ruby 2.0 faults
Bump the version number post alpha release.
Merge pull request #337 from juliandunn/OHAI-584

[OHAI-584] Update systemu to 2.6.4 for Ruby 2.1.x optimization
Use rspec3 compatible cli options
Lock rspec version to 3.x, add collection matchers
Switch all `be_BOOL` to `be BOOL`
Define #has_key? for plugins

This is consistent with Hash-esque access we allow for plugins, and is
depended on by tests. In addition, it avoids a pitfall where calling
`some_plugin.has_key?("foo")` would add an attribute named `:has_key?`
with a value of `"foo"`.
Fix/clarify expectations on network plugins

When first implemented, this test was succeeding only accidentally. A
demonstration of the problem is included below.

A change in the implementation of the `have_key` matcher in RSpec3 exposed the
error, which revealed contradictory intent in the tests. To fix the
error, we relax the specifiction to only assert that the plugin did not
fail when it should not also expect address attributes to be populated.

```ruby
    require 'pp'

    class Demo

      attr_reader :data

      def initialize
        @data = {}
      end

      def method_missing(name, *args)
        return @data[name] if args.length == 0
        @data[name] = Array(*args)
      end

    end

    describe "when have_key isn't defined and we use method_missing in dangerous ways" do

      it "does wut m8?" do
        o = Demo.new

        # This should actually raise because Demo doesn't have any method
        # resembling #has_key?
        o.should have_key("foo")

        # But it actually succeeds because of the magical method missing
        # hash-set behavior :(
        o.data.should == {}

        ## Result:
        # expected: {}
        # got: {:has_key?=>["foo"]} (using ==)
      end

    end
```
Configure rspec to allow 'should' syntax for mocks+expectations