WIP: First pass at a Swifter syntax (with a healthy dose of generics)

This was a little tricky to do because of [rdar://17601747](http://openradar.appspot.com/radar?id=5771227683618816), but I have some ideas to go around that.

Done:

* Adds un-prefixed equivalents to all user-facing classes (i.e. RealmArray instead of RLMArray)
* RealmArray is now generic, which means that the following functions (among others) are type-safe: enumeration, firstObject(), subscript, objectsWithPredicate(), Realm().objects(withPredicate:)
* I had to move the object query methods out of RealmObject and into Realm because a class func can't use `Self` as a generic return property. In other words, this was done to keep generic support on RealmArray.

Remaining:

* Defining array properties using the generic syntax
* Move Swift syntax support in another module so we can subclass/extend RLM classes. This will help us avoid many of the strange workarounds here.
* Design Swift API. Right now this is mostly a direct port just to get things working. Soon it will, and then we'll really need to focus on how to make it rock.

I'm not looking for feedback right away, but if you have some I won't say no.