Updates rake: v0.8 -> v10.0
Drops Guard support
Convert specs to RSpec 2.99.1 syntax with Transpec

This conversion is done by Transpec 2.3.6 with the following command:
    transpec

* 25 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 23 conversions
    from: obj.should
      to: expect(obj).to

* 18 conversions
    from: == expected
      to: eq(expected)

* 3 conversions
    from: be_true
      to: be_truthy

* 2 conversions
    from: it { should_not ... }
      to: it { is_expected.not_to ... }

* 1 conversion
    from: be_false
      to: be_falsey

For more details: https://github.com/yujinakayama/transpec#supported-conversions
Updates matcher to be Rspec 3 compatible
Updates Rspec: v2.14 -> v3.0
Merges feature: Rspec 3.0
Travis Configuration - Test all the branches
Travis Configuration - No more Ruby 1.8
Use custom ArgumentError exception with metadata
Convert specs to RSpec 3.0.3 syntax with Transpec

This conversion is done by Transpec 2.3.6 with the following command:
    transpec

* 5 conversions
    from: == expected
      to: eq(expected)

* 5 conversions
    from: obj.should
      to: expect(obj).to

* 2 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

For more details: https://github.com/yujinakayama/transpec#supported-conversions
Custom error classes for all possible error conditions
Fixes typo in the specs
Index methods (Closes #4)

SmartProperties-enabled objects now respond to #[] and #[]=.
Merges feature: Error handling
Merges feature: Index methods

Conflicts:
	spec/smart_properties_spec.rb