rename oslo.concurrency to oslo_concurrency

oslo.concurrency-0.3.0 has moved its path to oslo_concurrency,
the old path oslo.concurrency can still work but is deprecated now.

Change-Id: I2b2b362f766bb82058af6f9ed92189165aa9a629
Closes-Bug: #1398656
Remove Python 2.6 from setup.cfg

Python 2.6 support is dropped so it should be removed from setup.cfg.

Change-Id: I28b205c8a8027de4168b65f272983b38bb09dd2d
Updated from global requirements

Change-Id: I47e73b8f59bc8afd91e9cafaa792a537dd214238
Merge "Updated from global requirements"
Merge "Remove Python 2.6 from setup.cfg"
Merge "rename oslo.concurrency to oslo_concurrency"
Add base state machine

This creates the ironic.common.fsm module, which was imported from
TaskFlow and modified to fit the use-case of Ironic, and adds a model of
our current states to the ironic.common.states module.

Notable changes from the fsm.py module in TaskFlow are:
- removing the table printing dependency
- basing exceptions on Ironic's exception class names (which, it turns
  out, are almost identical)
- add is_valid_event() method
- allowing the state to be passed when initializing a FSM
- allowing shallow copies of state machines
- adding target-state-tracking to fsm.py

Related-To: blueprint new-ironic-state-machine
Co-Authored-By: David Shrewsbury <shrewsbury.dave@gmail.com>
Co-Authored-By: Chris Krelle <nobodycam@gmail.com>

Change-Id: I813e60563c3e5124e31183b9322152df830b2f8e
Begin using the state machine for node deploy/teardown

Start using the state machine:
- first, add a process_event() method to TaskManager
- then, use it for both do_node_deploy and do_node_tear_down
- finally, add it to cleanup_after_timeout

This simplified both methods in ConductorManager, and also exposed a few
shortcomings in unit tests.

Related-To: blueprint new-ironic-state-machine
Change-Id: If2bb15c8300d28551946ff6053da6713faaadb4b