tests: Add more tests for tagid & forward declaration handling
Revert "Don't add extra typedef for declaring forward references"

This reverts commit 0123df26884984b2bdc6fd1cc657de303dfa6dd7, because that
was buggy sometimes. For example:
	typedef struct B A;
	void f(struct B *);
	struct B {
	}
resulted in
	type A as B
	declare sub f(byval as B ptr)
	type B
	end type
which is illegal FB code because the symbol B is a forward reference and
cannot be used until it is solved by the "type B" block (only A, which is
an alias for B, can be used in the mean time).