Make to_native throw a catchable exception

Makes it so we don't effectively abort() on type mismatch
Add missing {}
vexing parse...
Remove unnecessary template<>
Add needed std::
Remove mismatched struct / class
Use unique_ptr
Remove iostream include.

Also move TCorrupt to be defined using <base/thrower> (Which means we now get line numbers / HERE handling)

And fix people who relied on the iostream that shouldn't have been there
Squashed 'third_party/linenoise/' content from commit e0f15a6

git-subtree-dir: third_party/linenoise
git-subtree-split: e0f15a65d6531a93942e413f3110f52ad851806e
Merge commit '0285095b486e185fa8c8918ba53391d46e9c14f1' as 'third_party/linenoise'
Adding geo-based map queries
Replace readline with the BSD licensed linenoise library
orly/rt: Add specializations of cast_as to/from Rt::TOpt's containing different types (real -> int?).

Fixes issue 228
Merge pull request #229 from cmaloney/issue-228

orly/rt: Add specializations of cast_as to/from Rt::TOpt's containing different types (real -> int?).
Fix tests that assumes time diff is in microseconds.
Fixed AddrWalker's unwrap sequence logic.
Merge pull request #218 from cmaloney/to-native

Make to_native throw a catchable exception
Merge pull request #219 from cmaloney/misc-fixes

Misc fixes
Merge pull request #222 from cmaloney/general-cleanup

General cleanup
Fix compile statement return object.