Keep information about all block files in memory
script: move CScriptID to standard.h and add a ctor for creating them from CScripts

This allows for a reversal of the current behavior.

This:
CScript foo;
CScriptID bar(foo.GetID());

Becomes:
CScript foo;
CScriptID bar(foo);

This way, CScript is no longer dependent on CScriptID or Hash();
script: add ToByteVector() for converting anything with begin/end

This should move to a util header once their dependencies are cleaned up.
script: move ToString and ValueString out of the header
script: add a slew of includes all around and drop includes from script.h

Lots of files ended up with indirect includes from script.h.
Add IsNull() to class CAutoFile and remove operator !
Chain::SetTip return type to void
Fixes for missing boost tuple.hpp header include.
Replace some function names with __func__
CAutoFile: Explicit Get() and remove unused methods

Also add documentation to some methods.
Merge pull request #5104

b7ae2c1 Chain::SetTip return type to void (21E14)
Merge pull request #5110

a3c26c2 Fixes for missing boost tuple.hpp header include. (randy-waterhouse)
Merge pull request #5108

a873823 CAutoFile: Explicit Get() and remove unused methods (Wladimir J. van der Laan)
fef24ca Add IsNull() to class CAutoFile and remove operator ! (Ruben Dario Ponticeli)
Merge pull request #4988

7b2bb96 Replace some function names with __func__ (Pieter Wuille)
ed6d1a2 Keep information about all block files in memory (Pieter Wuille)
Merge pull request #4981

85c579e script: add a slew of includes all around and drop includes from script.h (Cory Fields)
db8eb54 script: move ToString and ValueString out of the header (Cory Fields)
e9ca428 script: add ToByteVector() for converting anything with begin/end (Cory Fields)
066e2a1 script: move CScriptID to standard.h and add a ctor for creating them from CScripts (Cory Fields)