Script: adds Script.EMPTY constant
Script: use fromChunks internally for all Script templates
Transaction: remove unnecessary Buffer copy
Transaction: remove unnecessary clone
Script: parseChunks now uses bufferutils
Script: re-order functions to project order

Removes Script.parseChunks and merges it into Script.fromBuffer
Script: check hex not template result
Script: move all templates to templates.js
Address: fix consistent casing
Script: early exit in chunk.reduce
templates: rename to scripts
Script: remove clone
Script: stop jshint complaining about missing-assignment
Transaction: mass rename from SPK/SS to Input/Output

I think it is important we maintain some reasoning that an Input script
is actually a script signature, but in the end, these names are more
coherent and understandable when reasoning with our code.  So I think
its OK we break tradition with bitcoind.
Scripts: adds assertion for enforcing a Script input
Script: fixes pubKeyInput and adds a test
network: always use lowercase
scripts: adds example multisig inputScript
Merge branch 'scriptclean'

Conflicts:
	test/wallet.js