Un-expanded to expanded location code conversion

This commit implements an api to get expanded location code
from a given un-expanded location code and node number.

In case invalid argument is passed or the location code is
not found, corresponding error is returned to the caller.

Tested on simics.

To build use following command.
meson -Dibm-parser=enabled -Dvpd-manager=enabled build
ninja -C build

Sample bus call.
busctl call com.ibm.VPD.Manager /com/ibm/VPD/Manager com.ibm.VPD.Manager
GetExpandedLocationCode sq <locationCode> <nodeNumber>.

Signed-off-by: SunnySrivastava1984 <sunnsr25@in.ibm.com>
Change-Id: I52654a1c34d25dc9b861159a2ae1d15379b44677
diff --git a/const.hpp b/const.hpp
index a7338d4..fc93468 100644
--- a/const.hpp
+++ b/const.hpp
@@ -42,6 +42,7 @@
 constexpr int IPZ_DATA_START = 11;
 constexpr uint8_t KW_VAL_PAIR_START_TAG = 0x84;
 constexpr uint8_t RECORD_END_TAG = 0x78;
+constexpr int UNEXP_LOCATION_CODE_MIN_LENGTH = 4;
 
 namespace lengths
 {