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.
I can add a FIXME, but to be honest I think the entire swift file should be replaced eventually. Maintaining the reflection logic in two places is going to be a PIA on the long run. I'm hopping that the next beta would come with a way from objc to get a Swift property type (main problem right now is String which is reflected as "@" from objc). Hopefully it'd be a way of doing this in the near future and this files (rather than this particular line) can be replaced.

And to be honest "l" is the safest choice anyway. If we could do a LP64 conditional Swift Int Type on 32bits would be "l" and 64bits would be "q"