base/*_util* -> util/

We had effectively built a namespace within base for things which are just adding more functions to standard objects.

Things like:
 - <base/stl_utils> which adds helper functions for members we wish the STL had
 - <base/string_utils>: Make cstrings more accessible
 - <base/io_utils>: Make reading/writing to fds easier

Things like:
 - <base/fd>: Change linux fds to be RAII don't apply because they're more than just little helper functions that take standardized things
Switch <base/cmd> to use <base/json> rather than <starsha/note> for args file parsing
Merge pull request #107 from cmaloney/cmd_use_json

Switch <base/cmd> to use <base/json> rather than <starsha/note> for args file parsing
Merge pull request #111 from cmaloney/util-updates

base/*_util* -> util/
tools/nycr: Make it so nycr can output a JSON language report file
Fully compiling JHM

Doesn't have any registered jobs, but if you ask it to build a file which
exists it doesn't SIGSEGV/terminate/etc.

Updated readme
Add program which takes a given file and creates a file which lists its dependencys (.dep)
jhm: First working job (A C/C++ dependency file generator).

Dep files are json lists of files included by a C/C++ file.

Includes misc. changes around the codebase to get things working right.
jhm: Allow jobs to indicate that just because they ran, they may not be complete

If they're not complete, we'll make sure to finish all the things now in their 'Needs' set, then get/run the command again.
jhm: TEnv::TryFindFile -> TEnv::GetFile

The function always returns a file, so it's not really a 'Try'.
Implement configuration system for JHM

Allows stacking multiple Json config files together and having them automatically combine sections.
jhm: rename TCDep job to TDep as it builds arbitrary dependency files.
jhm: Add a "Compile C/C++" job.

Includes misc. changes to make things work with more jobs / fix misc. bugs uncovered.
jhm: Fix work finder bugs

 - Reverse backwards bool in fast exit of TWorkFinder::Queue
 - Make working have a tighter definition (We loop needlessly less)
 - Fix indentation of TWorkFinder::ProcessReady
jhm/job/dep: Remove old comments
jhm: Add a link job. Gets basic binaries compiling.
jhm: remove extra space
jhm: Allow jobs to have unknown outputs
jhm: Add support for nycr

And misc. bug fixes
And misc. feature adds (Namely jobs which don't know all their outputs up front)
jhm: Reorder c/c++ compile arguments so filename comes first