Took advantage of the return value constraint feature of CLIPS

This allows me to constrain a slot in terms of a function call applied to
already existing value.

For example: (taken from the basic programming guide for clips)

   (deftemplate data (slot x) (slot y))
   (defrule twice
            (data (x ?x) (y =(* 2 ?x)))
            =>)

I am able to perform inline execution by placing an = before the function call.
Added a check to WAR dependency ident to skip non symbols

It is totally possible for immediate values (numbers) to be located in the
source-registers of an instruction. Adding a check to make sure that CLIPS only
selects source registers that are symbols makes the code faster.
Added the symbolp check to the predicate version of the WAR check
Improved the efficiency of the producer/consumer injector rule

The rule now operates on all facts for a given instruction type in a single
call to make the number of multifield updates significantly lower.