Add support for optionals and beNil (closes #19)

This adds a beNil matcher.

```
var optVal : Int?
expect(optVal).to.beNil()
```

It also changes all internal references to NSObject (the subject) to optionals.

This requires that the subject object is derived from NSObject.  It would be better to use AnyObject or Any as the subject, but I had some issues with unpacking and comparing types.  Still a bit too green on Swift for that!