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.
The reason I didn't do it is because that conditional check doesn't work (just yet?) on swift. Actually a fun fact is: if you explore the internal attributes (using objc_getattributes) of the Int type from swift (either 32bits or 64bits). The result is always "l".