Move long running test case earlier to speed up parallel testing.

This is purely an optimization. Since the test case is long running,
it should occupy a job slot early in the process, so it can chew on it
for a while, while the rest of the tests are running.

Also fix a typo in the path that has been bugging me for ages.
Make sure all relevant variables are inherited by sub invokations.

This fixes parallel test runs in sub projects.
Make sure serial tests are run, even if parallel ones fail.

This moves the serial tests out of the makefile, since make would
refuse to run them if any parallel tests had failed.
Catch errors resulting from miscalculating the number of test results.

This will save us if we make a mistake in testall which leaves out
some test results.
Don't reuse overspill from an early ps field as part of a later one.
Handle ps fields that extend right under next header.

See comments in commit.  Also deals with the case where one field
appears to extend right under the next's header, but it's really the
next extending left under the first's header.
Add a TODO about handling of tabs in ps output.

We can hope this is a non-issue; it only matters if some ps actually
does use tabs in its output.
Remove spurious cast, refine a comment.
Discovered a hidden complicator to VPSOPTS, sync'd with changes there.

In process_select.c, access to VPSOPTS is mediated via a function
GetProcessOptions() so as to implement a hack to omit the NLWP field
on Linux 2.4 (should probably be Linux < 2.4); naturally, its copy of
the options was out of sync with the copy (including nlwp) in
systype.c; so bring it in sync again and add a comment to VPSOPTS to
remind anyone changing the Linux entry there to make a matching change
in this second place.
Make GetProcessColumnNames() accept a const char *proc.
Move time(NULL) call up the call-stack.

This is one step towards resolving the TODO that accompanies it: we
should really be using the time when PROCESSTABLE was populated.

This makes it possible for a unit test to not depend on the actual
time at which it's run, since it can now pass in the nominal time at
which to believe it's being run.
Skip over empty (cf_null) list entries in maplist.

Fixes Redmine #6576, includes acceptance test.
Add a unit test for SplitProcLine().
Comments and clarifications on the receive loop, no change in functionality.
Clarify that empty transaction payloads are not allowed

Previously they were not explicitly disallowed, but if they were sent
we'd be in trouble since ReceiveTransaction() would return 0, meaning
connection closed.
Add htole32 replacement and proper header detection of endian.h.
Clarify TLSSend() and SendTransaction() semantics.
Removed 'towrite' superfluous variable.
Mostly beautification.
Merge pull request #1983 from kacfengine/endian_h

Add htole32 replacement and proper header detection of endian.h.