Consolidate CTransaction hex encode/decode into core_io.h, core_{read,write}.cpp
Move ParseScript() helper, becoming accessible outside src/test/
core_read's ParseScript(): minor cleanups

- use .empty() rather than .size() == 0
- use a const_iterator rather than BOOST_FOREACH
- validate iterators before creating a string from them
bitcoin-cli, rpcrawtransaction: harmonize "{" styling
Add "bitcoin-tx" command line utility and supporting modules.

This is a simple utility that provides command line manipulation of
a hex-encoded TX. The utility takes a hex string on the command line
as input, performs zero or more mutations, and outputs a hex string
to standard output.

This utility is also an intentional exercise of the "bitcoin library"
concept. It is designed to require minimal libraries, and works
entirely without need for any RPC or P2P communication.

See "bitcoin-tx --help" for command and options summary.
Merge branch 'rawtx' into merge-rawtx