[#1002] Refactor interfaces and exceptions. Use new chevah.compat package.

Problem description
===================

reviewers @alibotean 

We want chevah.compat to be an independent package so it was refactored.

Now we need to use the refactored chevah.compat code.


Changes description
===================

The refactoring of chevah.compat includes moving interfaces and exceptions of of chevah.utils.

Check wiki page for exceptions rules.


How to try and test the changes
===============================

Nothing special here. Test should pass.

I already did a test_remote all and everything was ok.