Refactor: Drop Shared

Shared is no more. Except in logging and concurrency, because we need it there.

You may notice that unittests currently fail, and that's on GL3N for having a failing test.

Please enjoy reading this diff.