refactor: boot order list to use list.h

The boot order list is built using the list.h helper.
The structure list_entry uses the same type to point
to the nodes of the list. The root of the list doesn't
have any data. Any other node shall be part of a vCPU
structure whose data is returned via CONTAINER_OF
structure.
The list implementation is circular. As such, root is
also the end of the list. The last node points to the
beginning(i.e. vcpu.next_boot.next is root entry).

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: Idbfaa293c74e71b989133d5828803c958855d25a
diff --git a/src/vm_test.cc b/src/vm_test.cc
index 40b0e60..b82aaf6 100644
--- a/src/vm_test.cc
+++ b/src/vm_test.cc
@@ -10,6 +10,7 @@
 
 extern "C" {
 #include "hf/check.h"
+#include "hf/list.h"
 #include "hf/mpool.h"
 #include "hf/vm.h"
 }
@@ -96,8 +97,6 @@
 	struct_vcpu *vcpu;
 	std::list<struct_vm *> expected_final_order;
 
-	EXPECT_TRUE(vcpu_get_boot_vcpu() == NULL);
-
 	/*
 	 * Insertion when no call to "vcpu_update_boot" has been made yet.
 	 * The "boot_list" is expected to be empty.
@@ -156,7 +155,7 @@
 	     it != expected_final_order.end(); it++) {
 		EXPECT_TRUE(vcpu != NULL);
 		EXPECT_EQ((*it)->id, vcpu->vm->id);
-		vcpu = vcpu->next_boot;
+		vcpu = vcpu_get_next_boot(vcpu);
 	}
 }