New interface

Added new methods interface to allow the user sending errors or messages in a easier and cleaner way.

`Rollbar::Notifier` has now the logic to create the item's payload and `Rollbar` module just delegates the API to a `Rollbar::Notifier` instance by thread.

The new API methods are `Rollbar.info`, `Rollbar.debug`, `Rollbar.warn`, `Rollbar.critical` and `Rollbar.error`. The users can also define different payload options for a particular code block using `Rollbar.scoped`:

```ruby
custom_data = {
  job_type: 'sync'
}

Rollbar.scoped(custom_data) do 
  begin
      # code that will raise
  rescue => e
    Rollbar.error(e)
  end
end
```

For a Rack or Rails application the uncaught exceptions are automatically handled so for a certain block of code the users can write just this:
```ruby
custom_data = {
  job_type: 'sync'
}
Rollbar.scoped(custom_data) do 
  # code that will raise
end
```

It's possible to get a new `Notifier` instance with a new scope using `Rollbar.notifier.scope`:

```ruby
custom_data = {
  job_type: 'sync'
}

notifier = Rollbar.notifier.scope(custom_data)
notifier.info('Starting job')
```

## Backwards compatibiliy

Old methods interface is still available but deprecated: `Rollbar.report_exception`, `Rollbar.report_message` and `Rollbar.report_message_with_request`
Do we need to rescue here so we always set the `self.notifier` variable back to the previous one?