Added matchers for empty and truthy

The goal was to make matching values which evaluate to true more readable, also making the failure message sane so you don't get a "expected false to be true" but a "expected 0 to be truthy".

Also added a matcher to check for emptiness of array or string, to me 
expect([]).toBeEmpty() reads better than expect([]).toHaveLength(0).