Added existence checks and made assertions chainable

This pull request adds two new checks: `toExist` and `toNotExist`, which checks for truthy and falsy values respectively.

It also makes the API chainable. In most circumstances, this won't matter, but you can use it to remove a lot of repetition for certain tests. For example:

```javascript
expect([1, 2, "foo", 3])
  .toExist()
  .toBeAn(Array)
  .toInclude("foo")
  .toExclude("bar");
```