Add ability to chain different view attributes

Composites are great for defining multiple attributes at once. The following example makes top, left, bottom, right equal to `superview`.
```obj-c
make.edges.equalTo(superview).insets(padding);
```


However if only three of the sides are equal to `superview` then we need to repeat quite a bit of code
```obj-c
make.left.equalTo(superview).insets(padding);
make.right.equalTo(superview).insets(padding);
make.bottom.equalTo(superview).insets(padding);
// top needs to be equal to `otherView`
make.top.equalTo(otherView).insets(padding);
```


This PR makes it possible to chain view attributes to improve readability
```obj-c
make.left.right.and.bottom.equalTo(superview).insets(padding);
make.top.equalTo(otherView).insets(padding);
```


#### TODO
- [x] Write tests
- [ ] Update readme
- [ ] Update changelog
- [ ] Update podspec