resolve hash_or_arrah args when controlling node
Extract out allocator from bus allocator:

* Remove all bus specific behaviour - now allocator is a generic id
  allocator to be used in other places such as buffer id allocation
swap attr_reader arg order to match constructor
Teach allocators to have a default index offset of 0
Add default of 1 for Allocator#num_adj_ids
Use Allocator to allocate buffer ids rather than a Counter:

* Allows buffer ids to be recycled