Integers in Swift were down casted to 32 bits integers. Fixed #688

When using Swift, Int type is Int32 on 32bits platforms and Int64 on 64 bits platforms. In order to avoid down casting, objcType should be "l" when using 64 bits.

Also added some tests. Note that when assigning this on 32bits platforms:

```
let longNumber = 17179869184
let intNumber = 2147483647
let negativeLongNumber = -17179869184
let updatedLongNumber = 8589934592
```

long values will be down casted to 32 bits. Meaning that 17179869184 is going to be 0 as well as 8589934592. But since the value inserted will be 0 the test will pass.

I recommend supporting Int64 as well as Int32 explicitly on Realm.

See #688 for more information.
Can we add a FIXME comment so we know fix this later? I think in the long run we will have to move this code to objc to make this work, but for now this is an improvement.