[x86] Changes in x86 setup script

The script now takes options and arguments. It is made
more flexible in building different subcomponents. The
script also installs all the dependencies that are required.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[LIBS] User authentication library

Add a user authentication library based on crypto hashes.
This provides one server right: authenticate_user

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[DAEMONS] Adding login/logout funcionality

It might be a good idea not to expose xvisor prompt
without an authentication, especially when its not
being used in embedded domain.

This patch addes a basic authentication feature based
on MD5 hashes (will be moved to SHA256/512 when we
add them).

The authentication works like this: The basic user tokens
are located in file /system/passwd. Its like Linux.
<username>:<password md5 hash>

When user gives username/password, password's MD5 hash is
calculated and compared against the one stored in the file.
If it matches the prompt is given. There are 5 bad tries after
which there is a gap of 15 seconds.

TODO: During first boot, username/password should be asked
and saved. Same things can be done for hostname, ipaddress etc.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[LIBS] Enable Hashes and MD5 by default

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Enable libauth and user authentication for x86

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>