Make SCRIPT_VERIFY_STRICTENC compatible with BIP62

* Delete canonical_tests.cpp, and move the tests to script_tests.cpp.
* Split off SCRIPT_VERIFY_DERSIG from SCRIPT_VERIFY_STRICTENC (the BIP62 part of it).
* Change signature STRICTENC/DERSIG semantics to fail the script entirely rather than the CHECKSIG result (softfork safety, and BIP62 requirement).
* Add autogenerated tests for several odd cases.
I was confused by the use of the word "Standard" here when reviewing. Why the rename from Canonical to Standard? I think of "standard" pubkeys as the standard script forms that the wallet recognizes.