Add missing const qualifiers.
Fix accidentally iterating through old_targets instead of new-targets.
Use more readable numbers and rely on constant folding.
Make conversion explicit to silence warning.
Remove unused named parameter to silence warning.
Replace old makefile with completely reworked file with debug/release builds.

During a whoopsie I accidentally all the files in the repo; the equivalent
of rm -rf ./*. I was testing a new macro for identifying a generated folder
for deletion -- the macro did not evaluate as expected and rmdir kindly
removed all files in the folder. Consequences of this are:

- Not severe. The only thing that has been lost is history from the point of
  the last push up until now. Everything still works as just pre-accident.
- As above, all the original, intermediate history is gone. Parts of it has
  been patched together but there is a serious disconnect between those two
  points in time. This restoration spans multiple commits.
- I have learned to invoke Nmake with the /n flag, which shows but does not
  execute command for the specified target.
- There is now a completely new, very sophisticated Nmake makefile!
Adds SSL certificate for GitHub and declares anonymous functions.

This is a huge changeset, also a consequence of earlier mentioned whoopsie.
Firstly it introduces an in-memory SSL certificate so curl can connect to
GitHub. Secondly it adds a function, curlcheck(), which evaluates a
CURLcode and throws an exception if the return value is not CURLE_OK.
Thirdly it does a bit of stylistic cleanup.

The reason this wasn't broken into smaller changesets is that add -p
couldn't automatically split the hunks acceptably and I'm too lazy to do it
manually.