Mark imported script addresses for their account.

Spotted by @tuxcanfly.
Test active addresses including script addrs.
Write imported multisig addresses to disk.

When the addmultisigaddress RPC was called, the wallet with the
imported address was not being written to disk, and if no more writes
were scheduled, the address could be lost.  This change immediately
writes the updated keystore to disk before the RPC returns.

Closes #98.
Move last seen block to RPC client structure.

Pass the RPC client to the notification handlers.  Update the last
seen block for blockconnected notifications in the client structure
directly, protecting access with a mutex.
Fix hang during shutdown when client is connected.

Closes #108.
Updates for untyped btcutil consts.
Move fee increment to Account structure.

When a BIP0032 wallet is implemented and multiple address chains can
be supported by a single keystore, the Account structure will
represent a single wallet (and be renamed to reflect that change),
rather than keeping the collection of Account structs as currently
managed by the AccountManager.  In preperation for this, and to remove
a global variable, move the fee increment for created transactions to
this structure.  When setting the fee, look it up from the default
account.
Rename wallet package to keystore.

This package is used solely for the storage of private and public
keys, and the addresses they represent.  Since "wallet" is an
overloaded term and a working wallet requires transaction history as
well, rename this package and its data structures to more clearly
reflect what it is for.
go fmt
Handle *btcjson.Error errors from RPC handlers.

The btcrpcclient package returns RPC errors as *btcjson.Error, but
wallet was only handling btcjson.Error (no pointer) as special.
Handle both.
fix hang when quit is received during handler