Split beat.core and beat.backend.python

Following a discussion with @andre.anjos , few beat.core functionalities need to be in beat.backend.python.

To achieve this, we need to:

  1. Move all the relevant code from beat.core to beat.backend.python
  2. Make beat.core depends on beat.backend.python
  3. Make all packages use features from beat.backend.python (when they were moved from beat.core to beat.backend.python)