Rspec 3 upgrade

Nat,

This fixes Yarjuf to work with RSpec 3.

The tests have been updated to use `expect` syntax and conform to the new `pending` [syntax](https://www.relishapp.com/rspec/rspec-core/v/3-0/docs/pending-and-skipped-examples/pending-examples).

I also tried to improve readability in a few places e.g.

```ruby
@builder.testsuites(
  :errors    => 0,
  :failures  => failure_count,
  :skipped   => pending_count,
  :tests     => example_count,
  :time      => duration,
  :timestamp => Time.now.iso8601) do
```

rather than

```ruby
@builder.testsuites :errors => 0, :failures => failure_count, :skipped => pending_count, :tests => example_count, :time => duration, :timestamp => Time.now.iso8601 do
```

I also tried to differentiate - where appropriate - between instances of `RSpec::Core::Example` and `RSpec::Core::ExampleNotification` in the code.

All the tests pass but Travis may pick up some issues with older versions of Ruby.

I manually inspected all the test output (`tmp/aruba/results.xml`) between RSpec 2 and 3 for Yarjuf. The only difference is that instead of failure messages being formatted like this:

```xml
      <failure message="failed suite one should be failing" type="failed">
        <![CDATA[expected: 2
got: 1
(compared using ==)
["./spec/failing_test_spec.rb:3:in `block (2 levels) in <top (required)>'"]]]>
      </failure>
```

they are being formatted like this:

```xml
      <failure message="failed suite one should be failing" type="failed">
        <![CDATA[
expected: 2
     got: 1

(compared using ==)

["./spec/failing_test_spec.rb:3:in `block (2 levels) in <top (required)>'"]]]>
      </failure>
```

It's all inside the CDATA tag so I can't imagine it being a problem.

I also ran the new Yarjuf version against a large (~200) suite of RSpec tests without any issues (and again, manually validated the XML output for changes without finding any issues).