Implement basis for osx version using psutil library

This is the start for implementing the OSX agent/client. It turns out that fetching cpu time and memory usage for a process through python on OSX is not trivial. One option would be to parse **ps** return. But this is slow. Instead I found a portable python package that does the job for us. It is called [psutil](http://pythonhosted.org/psutil/). The cool part of using this library is that we can delegate platform support management. This would simplify our codebase. I propose we use psutil on all platform.

Another point to note, on OSX it is not possible (as far as I know) to get the exit code for a process unless you catch it while terminating. So I did not implement ProcessMonitor.exit_code() method you have on Windows. I did not understand its purpose too :(. Was it only for testing purpose?

**Bonus**: Integrated _pylintrc_ configuration file so we can push default parameters locally and on Travis
We cannot use this.  The documentation states that this method will block for the required interval (default 0.1 seconds).  In addition, it doesn't comply to the same interface as the Windows version.

You should implement this as a generator, keep a stopwatch and divide the difference between `self.elapsed_time()` over the time frame between the two generator invocations.

That way, the caller can decide on their own polling frequency and the call never blocks.