unify start, stop methods - references #3

- Okay, both start and stop are using wait.
- there's now extracted wait_for method, that takes care of waiting, killing and rising errors, so that wait condition methods can simply return True or False
- there's a constant timeout for stopping process set to 10 seconds. I'm still wandering if it shouldn't be configurable.
Yes, no point to have them here. stop right now tries to terminate the process, if won't work, it kills it.