Let least squares solver return zeros instead of throwing an error when left hand side is zero
Fix #3835
Move the sampling profiler into base

This also cleans up many aspects of the API:
  - Rename SProfile->Profile
  - Don't include sprofile_ in function names, use module scoping
  - Export only @profile, all others get scoped
  - Combine _tree and _flat into a single Profile.print() method
  - kwargs for Profile.print():
       format:   :tree, :flat
       C:        true, false  (whether to show C instruction pointers)
       combine:  true, false  (whether to merge ips resolving to same info)
       cols:     <Integer>    (the number of columns used in formatting)
  - Pass data as an argument to Profile.print() (now it's possible to
       profile the profiler!)
  - Define a LineInfo immutable to store code lookups (instead of tuples)
  - Use better variable names
Add documentation for Profile
fix #3623
remove OUTPUT_STREAM and square from helpdb
fix #3758, also change some declarations to C99 style
Fix null after change of full/thin convention in svdfact and a test to capture the error
add '?' repl help shortcut (closes #3833)
don't rethrow pmap errors from other processors
small tweak to @help
Update libuv

Major changes in this version are
 - The error API now doesn't use structs, so we need to adjust for that
 - The build system now uses autotools
 - Fix random bogous assertion failures
Bump libuv once more to include configure script
The rest of the autconf files as well
Alight, final bump to deal with libuv's new build

sorry about the trouble, folks
Also adjust libuv API in flisp

Didn't know flisp even used that.
platform macros with (ternary operator) else clauses, of the form `@windows? a : b`
Fix libuv error codes when building with clang
Build libuv autotools scripts with autoreconf -i
Fix typo in src/uv_constants.h/add m4 files(uv)