Ensure test_agent_manager handles random hashseeds

Several tests in test_agent_manager.py fail when tox is run using the
hashseed 2701526934, this is down to the nature of using dictionaries
and sets in Python causing some function calls and function arguments
to be out of order. This patch fixes this by either specifying that
assert_has_calls does not need to assert the order, just that the calls
were made, or by letting the unit test get affected in the same way as
the code, e.g. add variables to a dict so they are ordered by the python
hashing algorithms in the same way as they would be in the real code.

Change-Id: If83d1f33c187eab45c2a65fd50fd70cce011c9e7
Partial-Bug: 1348818
Enable no-name-in-module pylint check

Add _MovedItems (from six.moves) to pylintrc ignored-modules, and adjust
one import of sqlalchemy.orm.properties.RelationshipProperty.

s.o.p.RelationshipProperty is created at import-time in a rather
exciting manner - rearranging the import in this way forces the
import-time code to be executed and seems sufficient to satisfy the
pylint static check.

Change-Id: Ic99dc2b7dfac75930a5c446ae899eaae09ee6174
enable F402 check for flake8

The change removes the shadowed loop variables and enables F402 checking

Change-Id: I015797feec463ffb0b5e97229a6ec2c9a41df9de
Partial-Bug: 1329017
Merge "Enable no-name-in-module pylint check"
Merge "Ensure test_agent_manager handles random hashseeds"
Merge "enable F402 check for flake8"