Order Processing

1. Changed PriceNode to use Dict rather than priorityQueue for orders
2.  Added a Cancel Order function (needs more unit tests)
3.  Refactored ProcessOrder to include cancel, replace and add new order
ffuncitons