refactoring of the board

* added `Point` and `Direction` classes;
* the size of the board may be retrieved (read-only);
* implemented `iterate` function which passes iterated `Point` and iterated value into a block;
* implemented placement of multiple objects inside one cell;
* implemented `find` (e.g. human's current point) and `find_all` methods (e.g. find all zombies' points);
* implemented movement of objects;
* 100% code coverage in tests;
* `Point` may be compared through `==` operator.