Improve tests

Add tests runner.
Separate tests and source.
Add test that covers error case in multiply method