Fixed and cleaned up utils.c

In strncmp(), stop comparing if both strings reach their zero byte
before the length limit. Also if a difference is found, the comparison
result should be computed from that difference, while it compared the
characters after the first difference instead.

In strlen(), return length excluding the zero byte. The callers
compensated for this, so it worked fine, but it is confusing to use
a common name like strlen() with a different interface.

Declare our own functions instead of including <string.h>. We still
need to include <stddef.h>, but that's a header from the compiler and
not from the libc.
Removed code guarded by UCOS_CSP macro

These headers are part of UBIBoot now, no point in supporting any other
use of them.
Enable cache flush routines in "jz4770.h"

These are identical to the ones in "jz4740.h", so eventually there
should be only one definition for both.
Add register definitions for JZ4770 OST (OS Timer)

Also widened Timer Counter Enable registers from 8-bit to 16-bit:
bit 15 controls start/stop for the OST.
Added benchmark feature (JZ4770 only)

Use the OS Timer to measure the time it takes for the boot loader to do
its job, then make the result available by putting it in the kernel
command line.