Assoc update cleanup and added testcases

1. Move function to associative engine utils
2. Added complex testcases(Language only+Live runner) - test needs simplification and requires dummy geometry functions to be added to FFITarget. Defect is created for this
3. Set the test category and associated defect

@lukechurch 
Next time you find yourself writing new code that looks like this, please ping me to discuss alternative design options. THanks