Introduce `for_all` function

This Pull Request is to introduce `for_all` function for the issue #10.

This includes:

- `for_all` function, which is a subsutitute for `Arbitrary` and `Arbitrary#property` with API limited
- `may_throw` function to handle errors

This allows us:

- To create properties a little easier than we are writing now

To learn how to write properties with `for_all`, see the issue #10.

To handle errors with `for_all`, we write properties as following:

```python
for_all(
  (('integer', {"max": 100}),),
  'This is your func.',
  may_throw(your_func, SomeErrorType)
)
```