Cleanup backend loading

Backend creation was happening at import time. This changes the
code so that backend creation time is controlled by calling a
function.

This also allows sharing the backend creation code between the
server and the tests.

Change-Id: Ib817aa341de510a46faa8ed0bc24ef9268fa944b
Merge "Cleanup backend loading"