Testable - making the test infrastructure and the first test for changed implementation of random_in_range

Branch 'testable', for introducing a test infrastructure into whisp. I've had to do the following:

- To make main testable, I moved all the function definitions into app.c and its header app.h.
- I've created test folder and added run_tests.sh file which builds and runs all tests from test directory one at a time.
- I've modified Makefile to have a tests target.
- I've implemented first test for random_in_range function, which I've also optimised a bit.