protect base_uint begin() and end()

Clients outside the class have no business poking at the internals.
blob256: make initialization from string explicit

Avoid dangerous cases where 0 is interpreted as std::string(0).
Keyword `explicit` does not help here.
A: pure renames uintXXX to blobXXX
B: string conversions
C: Includes and predeclared classes
D: Necessary conversions between uint256 and blob256
Remove uint160

No uint160 arithmetic is used at all. Also remove the tests.
Remove now-unused methods from uint256 and base_uint
Add tests for blob256