Load engines with defined args and provided kwargs

To match the other fetch() functions, make the engine
load and run methods take in kwargs which can be used
by a specific engine if needed. Instead of the previous
passing engine args by invoke_kwds, use the invoke_args
with the specific kwargs being placed in invoke_kwds.

Change-Id: I7974ed774909de82a8b48615dfe29836ca8d809d
Synced jsonutils from oslo-incubator

The sync includes change that drastically enhances performance on Python
2.6 with fresh simplejson library installed.

The latest commit in oslo-incubator:
- 732bdb6297eb9de81667f7713ebcb1ccc2ee45a7

Change-Id: Ib3dc0b713ed90396919feba018772243b3b9c90f
Closes-Bug: 1314129
Merge "Load engines with defined args and provided kwargs"
Merge "Synced jsonutils from oslo-incubator"