ec/dsa: recovery param now used consistently

Also added an assertion rather than massaging the input.
ec: use signum() not equals(BigInteger.ZERO)
ec: extract BigInteger constants
ec/dsa: extract P_OVER_FOUR as a curve specific constant

This actually resolves a possible bug if multiple ecparams were used
(aka different values for P_OVER_FOUR, but only the cached was used).
ecdsa: comment cleanup
ecdsa: opt for shiftRight, pow and square

In the given situations, these offer better readability, or in the case
of shiftRight, a substantial performance increase.
ec: fix point decoding for other curves
ecdsa: use shamirs trick
ecdsa: consistent parameter ordering
ecdsa: use (r, s) values directly
ecdsa: remove ECKey dependency in tests
ecdsa: remove implicit ecparams
ecdsa: use standard declarative notation for functions
ecdsa: fix indentation
sec: use a hashtable for lookup
sec: fix formatting
bigi: upgrade to 1.1.0
tests: remove bigi test fixture
tests: use JSON fixtures exclusively
Wallet: cleanup createTx control flow

Unknowingly this also revealed a subtle bug in the previous
implementation which allowed the creation of transactions even
when no UTXOs existed.  This has been amended in the tests.