adds: option to swap the currency widget
updates: tests

updates most tests to proper generation for multivalue fields.
It also adds new tests.
PEP8

makes whole code PEP8 complient