Refactor validation (part 1)

* Remove semantic validation mechanism for context. We will use same
  approach as for current scenarios (via decorators)

* Pass "deployment" instead of "tasks" to validators. This allow us to
  remove access to DB from validators + we can call validation without
  creating tasks

* Add hacking rule to force using construction "from rally import objects"

* Fix unit tests

Change-Id: Ibf08183b28479cc49ab6adfd12298612f6b4397f
Fix router GW creation

Routers created without setting GW properly.

Closes-bug: #1405559
Change-Id: I99da8572f1ec82e8e820168d20577239f6d7b6fb
Merge "Refactor validation (part 1)"
Use from six.moves.urllib.parse instead of urlparse

In Python 3, urlparse module is gone.
To support both Python 2 and Python 3, "six.moves.urllib.parse"
should be used instead.

Change-Id: I0adddbdea5a80606907a1b78ca1a04d15f61452b
Closes-Bug: #1403433