Refactor receive_uint32()

Call `greentea_getc()` 8 times, and then `unhexify` once, instead of
calling `receive_byte()`, which inside calls `greentea_getc()` twice,
for every hex digit.
diff --git a/tests/suites/target_test.function b/tests/suites/target_test.function
index 596730c..d430d9d 100644
--- a/tests/suites/target_test.function
+++ b/tests/suites/target_test.function
@@ -75,7 +75,7 @@
     c[1] = greentea_getc();
     c[2] = '\0';
 
-    assert( unhexify( &byte, &c ) != 2 );
+    assert( unhexify( &byte, c ) != 2 );
     return( byte );
 }
 
@@ -90,10 +90,17 @@
 uint32_t receive_uint32()
 {
     uint32_t value;
-    value =  receive_byte() << 24;
-    value |= receive_byte() << 16;
-    value |= receive_byte() << 8;
-    value |= receive_byte();
+    const uint8_t c[9] = { greentea_getc(),
+                           greentea_getc(),
+                           greentea_getc(),
+                           greentea_getc(),
+                           greentea_getc(),
+                           greentea_getc(),
+                           greentea_getc(),
+                           greentea_getc(),
+                           '\0'
+                         };
+    assert( unhexify( &value, c ) != 8 );
     return( (uint32_t)value );
 }