Uniqueness validations failing with persisted documents

Ran into an issue using uniqueness validations:

```ruby
class Document
  include NoBrainer::Document
  validates :handle, uniqueness: true
end
```

```ruby
> document = Document.create!(handle: 'my-handle')
 => #<Document id: "529db25a73afb09a5700000a", created_at: 2013-12-03 10:28:42 +0000, updated_at: 2013-12-03 10:28:42 +0000, handle: "my-handle">

> document.valid?
 => false

> document.errors
 => #<ActiveModel::Errors:0x007f84e9a37558 @base=#<Document id: "529db25a73afb09a5700000a", created_at: 2013-12-03 10:28:42 +0000, updated_at: 2013-12-03 10:28:42 +0000, handle: "my-handle">, @messages={:handle=>["is already taken"]}> 
```

The attached pull request excludes the current document's `id` from the uniqueness validation query if it has already been persisted.

I've also added support for :scope:

```ruby
class Document
  include NoBrainer::Document
  validates :handle, uniqueness: {scope: :account_id}
end
```

and also multiple scopes per attribute:

```ruby
class Document
  include NoBrainer::Document
  validates :handle, uniqueness: {scope: [:account_id, :user_id]}
end
```