fixed a major flaw in declaration use map:
struct usages which occur before the struct definition
 e.g.: typedef struct test test_t;
 // more code
 struct test { // };

are now added using isSatisfiable on the AND of both presence conditions (typedef PC AND struct declaration PC)

Also when adding struct declarations we check for previously existing usages as in above example, however we did not check for name equality. This led to adding completely wrong identifiers as usages into the declaration use map.

ex:

typedef struct test1 test1_t;
typedef struct test2 test2_t;
struct test2 { // };

would add the identifier test1 to the declaration of test2 in the last line