ADEN-697 ensure single semi-colon per k-v pair, and final semicolon

We were running into some JavaScript errors because of how the NLP extension was handling deconstructing and reconstructing the DART key-value pair string. This fixes that problem and adds tests to account for those cases.