Add testnet flag

Source: cryptonotefoundation
Add testnet constants
Reorganize testnet constants
Separate p2p port for testnet
Separate rpc port for testnet
Separate network id for testnet
Pass tx and nonce to genesis block constructor
Add testnet genesis tx as output by CN reference
Add descriptions for RPC command line params
Separate testnet default data dir
Create testnet data dir if necessary
Add testnet seed nodes
Separate testnet address prefix
Replace macro with equivalent function call

Also removed useless bool return
Make P2P use the testnet data dir
Change testnet prefix