Added interface DualCommand2Factory which is to replace interface
DualCommandFactory. DualCommand2Factory is simply used to build
transactions represented by DualCommand2's compared to
DualCommandFactory which is used to build transactions represented by
DualCommand2's.

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>