Add an AvailableNodeManagers model to start making NodeManager API driven

This pull request also includes a perform endpoint in the API that allows direct invocation of exposed actions.
It seemed like a good idea at the time.