Move BYTES_TO_U32_LE to common.h

The macro BYTES_TO_U32_LE appears in poly1305.c and
chacha20.c.
Removes duplicate code and save vertical
space the macro has been moved to common.h.
Improves maintainability.

Signed-off-by: Joe Subbiani <joe.subbiani@arm.com>
diff --git a/library/common.h b/library/common.h
index baef72d..500e5d4 100644
--- a/library/common.h
+++ b/library/common.h
@@ -71,9 +71,19 @@
  * To tidy up code and save horizontal and vertical space, use byte 
  * reading macros to cast
  */
-#define BYTE_0( x ) ( (uint8_t) ( ( x ) & 0xff )  )
-#define BYTE_1( x ) ( (uint8_t) ( ( ( x ) >> 8 ) & 0xff )  )
+#define BYTE_0( x ) ( (uint8_t) ( ( x ) & 0xff ) )
+#define BYTE_1( x ) ( (uint8_t) ( ( ( x ) >> 8  ) & 0xff ) )
 #define BYTE_2( x ) ( (uint8_t) ( ( ( x ) >> 16 ) & 0xff ) )
 #define BYTE_3( x ) ( (uint8_t) ( ( ( x ) >> 24 ) & 0xff ) )
 
+/** 
+ * 
+ */
+#define BYTES_TO_U32_LE( data, offset )                         \
+    ( (uint32_t) (data)[offset]                                 \
+      | (uint32_t) ( (uint32_t) (data)[( offset ) + 1] << 8 )   \
+      | (uint32_t) ( (uint32_t) (data)[( offset ) + 2] << 16 )  \
+      | (uint32_t) ( (uint32_t) (data)[( offset ) + 3] << 24 )  \
+    )
+
 #endif /* MBEDTLS_LIBRARY_COMMON_H */