Add test for the Cmd.Id() functions.
Add struct for DecodeScriptResult.
Add P2sh field to DecodeScriptResult.
Improve test coverage a bit.

Fix bug in a json command caught by new test.
Add test for listsinceblock.
Fix bug in listsinceblock found by test.
Add tests for listreceivebyaddress.

Fix bug with minconf type caught by test (thanks oga).
Add additional tests for listreceivedbyaccount.

Fix bug caught by tests.
Add SetId() to Cmd along with tests.
Slight increase in test coverage.
Add 2014 to copyright dates.
Add an interface to provide help text for supported commands.

This changes the api to register new commands to also pass in the help
text.
Add addresses member to ListUnspentCmd
Add allowhighfees to SendRawTransactionCmd
add newsize parameter to keypoolrefill
fix getwork API

closes #12
Add getwork result infrastructure.  Make the work request optional.
Add support for GetAddedNodeInfoResult.

ok @jcvernaleo.
Allow getaddednodeinfo result to be string slice.

The getaddednode command dns flag alters the output.  It is a JSON object
when true and a slice of strings containing the addresses when false.
Note there is a bug in bitcoind as of version 0.8.6 which returns the
addresses as a JSON object with duplicate keys.  This has been reported as
issue 3581 on the bitcoind issue tracker.

This commit allows the result for getaddednodeinfo to be either the JSON
object or the string slice.
Change the optional parameter for getrawtransaction from bool to int.
This matches bitcoind.

ok oga@
Fix getreceivedby[account|address] api.  The first parameter is not
optional.