Improve the NAS4Free version strings and filenames. Add VIMAGE support.

Patch does 5 things:

1. Build NAS4Free revision number into the kernel version string (e.g. 'FreeBSD 9.2-RELEASE-p3 #0 r266465M+r972_n4f:')

2. Build FreeBSD kernel revision number into the output filename (e.g. 'NAS4Free-x64-LiveUSB-9.2.0.1-266465M-r975.img')

3. Build the embedded.img with a ".gz" sub-component in its name (e.g. 'NAS4Free-x86-embedded-9.2.0.1-266465M-r972.gz.img')

4. Add "options VIMAGE" and "device epair" to kernel config.

5. Fix '/sys/*' build references - change to '/usr/src/sys/*'
---
Reasons:
---

1. Build NAS4Free revision number into the kernel version string (e.g. 'FreeBSD 9.2-RELEASE-p3 #0 r266465M+r972_n4f:')

Reason:
So the Nas4free revision number "r958" can be shown in the kernel version string. This is great information, to output from the "uname" command or "sysctl kern.version". This info is also in the file "/etc/prd.version". It would also be great to print in the kernel string.

---
2. Build FreeBSD kernel revision number into the output filename (e.g. 'NAS4Free-x64-LiveUSB-9.2.0.1-266465M-r975.img')

Reason:
It improves collaboration. Otherwise guys who try to re-create and don't know what FreeBSD revision is for these core kernel patches. Otherwise they will often find a patch has failed, etc.

With this patch, each Sourceforge download filename will include the "r262491" FreeBSD revision number as part of the name. So any people can easily identify and checkout the correct FreeBSD sources exactly. Even for a different user (when no access to `uname -v` command).

It helps when I re-build nas4free entirely from scratch. Or just for some few missing kernel module to loading onto a person's official pre-build nas4free.

Example A)
I need to checkout the right FreeBSD kernel version e.g. "r262491" to reconstruct correctly a person's "/usr/src" tree and build a kernel module for them. Just saying "r972" alone does not provide enough required information to accomplish that.

Example B)
To build something from ports tree (a 3rd party software). For example "emulators/virtualbox-ose". That needs to build it's own kernel modules… again we need to know the specific FreeBSD revision number.

---
3. Build the embedded.img with a ".gz" sub-component in its name (e.g. 'NAS4Free-x86-embedded-9.2.0.1-266465M-r972.gz.img')

Reason:
People often do 'dd' direct-copy the embedded.img file onto a USB flash drive. They need to know clearly it's a gzipped file. And must be uncompressed first before burning the disk image. It is bad treatment to newcomers because they do everything correct. Yet the resulting USB disk does not work. All just because the nas4free build process didn't give a clear filename. No other reason.

Note:
Someone on nas4free IRC channel said that the embedded file should not be named ".img.gz" because that may cause an error during the build process. To avoid the problem this new filename is ".gz.img" rather than ".img.gz".

---
4. Add "options VIMAGE" and "device epair" to kernel config.

Reason:
Improve networking support. VIMAGE cannot be loaded as separate kernel module. It must be built into the kernel itself. We use VIMAGE with 3rd party jails, to give them their own separate virtual network interfaces from the host. It's no harm for those who don't use it.
---
5. Fix '/sys/*' build references - change to '/usr/src/sys/*'

Reason:
For consistency. A few places say "/sys". But all the other nas4free code uses "/usr/src/sys/" (the full path). It avoids a build error when "/sys/" symlink isn't present.