Revert setjmp() patches.

After thinking on this for a few months and the sheer rediculousness of the
semantics of setjmp()/longjmp(), and the fact that the few C compilers still
in existance (or at least the ones I use) all do the Right Thing(TM) when
you assign the results of setjmp(), I have decided to revert the following:

	7141cfe73aa0c124e4cba9d953ccd993cd208142
	e9171a14194831a77e5b02b143f586a193fa9383

But, to apease the C Gods (and M, for I know he'll scream at me for not
being pedantically pedantic towards portability but really, who still uses a
machine that doesn't have 2-compilement 8-bit bytes these days?) I have
marked the return variable as "volatile", to give some semblance that I care
about this.

Besides, this way leads (in my opinion) to cleaner code and not having to
waste space to assign a stupid variable everytime we want to call longjmp().
Rework how the carry bit is calculated.

I figured out a way to generate the carry bit without having to extend
the calculation beyond 8 bits (or 16 bits for the 16bit versions).
Master contains a patch I no longer want, so I am making a new master
branch.

Merge branch 'master' into revert
Rework the Makefile.

Remove the explicit rules and use implicit (I like implicit Makefile rules).
Also, let's go ahead and make a lib to link against.