Adding Nova Callbacks

Missing UTs (as Roaet calls them), but otherwise should be close to done.

DO NOT MERGE until unit tests are added...

^ ignore
Unit tests now added!
I don't see the value, at the moment, of having the logic for ports and ip_addresses in the same function. Might be better to split them out.