Add some data structures and complete some codes

Modify some codes, such as coding styles. And fix a little bug.
Add sruct vcpu_quantum structure and modify the logger_dev struct.
Prepare for the support for separate vcpu quantums.

Signed-off-by: tanle <tamlokveer@gmail.com>
Add support for logger to log info into memory separately according to vcpu

Now the interface print_record() is obsolete and instead print_record_id() is
used to print message into logger. Given the vcpu_id, logger will store messages
in memory separately according to the vcpu_id. Now the user-space program is not
ready yet.
In detail, logger maintain an array of struct vcpu_quantum, named quantums[MAX_VCPU],
representing a buffer for all the vcpus to log info. VCPU 0's info will be logged
into quantums[0]. When there is a full page in quantum[0], the page quantum will be
moved to a global out_list, maintained by logger_dev.head. And then a new page will
allocated to quantums[0]. So the out_list will contains all the full page from all
vcpu_quantums and will be transfered out to user-space later (not implemented yet)

Signed-off-by: tanle <tamlokveer@gmail.com>
Full support for separate logs accroding to vcpu_id

Now logger will log info into different log files accroding to given
vcpu_id. The user-space record_ctrl.c is modified to cooperate with
logger. Given the log file name, such as "log", several files will be
created to log info, such as "log_0", "log_1", "log_2" etc, and "log_x"
logs the info from vcpu_x.
Fix a little bug in logger_setup_cdev().

Signed-off-by: tanle <tamlokveer@gmail.com>