c2nim -> Support for anonymous structs/unions

Adding support for anonymous structs/unions in c2nim + test file.

Following an example:

C source:
```c
struct normal{
	int a;
	int b;
};

typedef struct outerStruct {
	struct normal a_nomal_one;
	
	int a;
	
	struct {
		union {
			int b;
		} a_union_in_the_struct;
		
		int c;
	};
	
	union {
		int d;
		
		struct {
			int e;
		} a_struct_in_the_union;
	} a_union;
};
```

Resulting Nimrod:
```nimrod
type 
  normal* = object 
    a*: cint
    b*: cint

  INNER_C_UNION_1402431418_2* = object  {.union.}
    b*: cint

  INNER_C_STRUCT_1402431418_1* = object 
    a_union_in_the_struct*: INNER_C_UNION_1402431418_2
    c*: cint

  INNER_C_STRUCT_1402431418_5* = object 
    e*: cint

  INNER_C_UNION_1402431418_4* = object  {.union.}
    d*: cint
    a_struct_in_the_union*: INNER_C_STRUCT_1402431418_5

  outerStruct* = object 
    a_nomal_one*: normal
    a*: cint
    ano_3*: INNER_C_STRUCT_1402431418_1
    a_union*: INNER_C_UNION_1402431418_4
```