Added complex arithmetic contracts.

@bsoetaer 
Shouldn't this be the following?
```ruby
{ |a,b| b.real == 0 && a.imag == b.imag }
```