BUG-1614: use per-NodeState transaction chains

Fixes thread safety issues with the provider. Transaction chaining is
really helpful, as it forces us to properly structure our code and
synchronize hand-offs.

Change-Id: I149f765bcbb1069a1656d67c0dcb70452eda6e03
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Milos Fabian <milfabia@cisco.com>