Interface Exposure

Exposed functions needed to attach an AXE simulation to the `xgdb` debugger. 

Debug `printf`s have been removed, and test summary is:

```
Testing Time: 18.59s
********************
Failing Tests (1):
    axe :: SystemCalls/overlays.xc

  Expected Passes    : 74
  Unexpected Failures: 1
```
std::vector::at() throws an exception if the index is out of range so the return value from at will never be null. To catch an out of range nodeID you should just do a range check (nodeID < nodes.size()) before accessing nodes with the [] operator (the same applies to the code below).