Allow subprocesses to work in record mode

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
Support marking test cases that are expected to fail

As an example, a line like this in a testspec:

    @failin i386 arm

says that the test case should fail when executing on i386 and arm, but
should not when on amd64.

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
Reformat test report

The changes include
  * Move the summary to the top
  * Add unexpected pass/fail count into the summary

Signed-off-by: Junjie Mao <eternal.n08@gmail.com>
update gitignore
update primer.c (total from 1000 to 10) and primer.testspec to reduce test time
Merge branch 'mjj/amd64' of https://github.com/chyyuu/ucore_plus into mjj/amd64
Merge branch 'mjj/amd64' into amd64-smp and fix conflicts
make the autotest(autobuild.sh autotest.sh uCore_run uCore_test) same with the mjj/amd64, but didn't make swapimg for ucore i386