wmllint: fix bugs with ifdef_stack

This section assumed that "#ifdef" and "#endif" would come at the very start of a line. When an author would indent the #ifdef but not the #endif, ifdef_stack.pop() would kill the starting value of None, leaving an empty list. wmllint would then crash:

  File "wmllint", line 1138, in global_sanity_check
    recruit[ifdef_stack[-1]] = (i+1, map(lambda x: x.strip(), value.split(",")))

IndexError: list index out of range

Stripping the line not only stops the crashes, but allows wmllint to pick up #ifdefs that it wasn't before.

I then looked more closely at the pop(). #endif shouldn't just drop the last value in the stack, but reset the whole stack back to None. I realized that pop() was leading to wmllint occasionally assigning recruitment that wasn't inside an #ifdef to values from earlier #ifdef stacks, e.g.:

>>  starting value: [None]
#ifdef EASY  >>  [None, 'EASY']
..
#else  >>  [None, 'EASY', '!EASY']
..
#endif  >>  pop(): [None, 'EASY']
..
recruit=  >>  ifdef_stack[-1]: EASY