btcctl: Add lockunspent support.

ok @davecgh
Do not log warning for filtered block inv types.

ok @davecgh
Update for recent btcchain ProcessBlock API change.

Now that the ProcessBlock function returns whether or not the block was an
orphan, the code which requests the parent blocks from the peer that sent
them has been moved to directly after the call to it.

This makes the handling more obvious and has allowed removal of the
blockPeer map which was kept so the notification handler could identify
which peer to request the blocks from.

ok @jrick
Update for btcchain ProcessBlock behavior flags.

ok @jrick
Update addblock for ProcessBlock behavior flags.
Update for SubmitBlockOptions field name change.
Expose a close ntfn channel to all RPC handlers.

This commit modifies the RPC server such that all handlers now receive a
channel which will be notified when a client disconnects.  This
notification can then be used to stop long-running operations early when a
client disconnects.

This capability was already present for websocket clients, but this commit
exposes it to standard HTTP clients as well.
Modify NewBlockTemplate to accept nil pay addr.

There are certain cases such as getblocktemplate which allow external
callers to be repsonsible for creating their own coinbase to replace the
generated one.  By allowing the pay address to be nil in such cases, the
need to specify mining addresses via --miningaddr can be avoided thereby
leaving the payment address management up to the caller.
Update for recent btcjson changes.

This commit updates the types to match the recent changes to the btcjson
result types.
IMPORT PATH MODIFICATION CHANGESET
----------------------------------

Please use this changeset as the first one on top of the conformal codebase.
Note that if there are new imports, they need to be changed as part of this
changeset. In general, use "git rebase" on github.com/conformal's version
and apply this changeset first.