Add node management

## Overview

This pull request adds node listing, creation & deletion to the `Server` and the HTTP endpoints. These nodes represent the data nodes in the cluster. This will be used for shard assignment in a future PR.
This is probably overkill considering the number of nodes and frequency of lookup. I dropped it in e88bd55762a034533686800e6e18f8bdb9c73a14