Changed how root node of the AST is initialized.

The root node cannot be initialized in cil_tree_init() because that
function is used to initialize other trees (such as argument lists)
that do not need symbol tables. So just call cil_root_init() directly
from cil_db_init().

Signed-off-by: James Carter <jwcart2@tycho.nsa.gov>
Small fix to cil_list_remove()

If the item at the end of the list is being removed, then the
tail pointer must be updated.

Signed-off-by: James Carter <jwcart2@tycho.nsa.gov>
Fixed two bugs in cil_copy_ast.c

When copying a call, set the macro pointer of the new call to the
macro definition of the original call.

When copying a macro definition, do not attempt to copy the list of
parameters if there are no parameters.

Signed-off-by: James Carter <jwcart2@tycho.nsa.gov>