CodeGen: Support for conditional compilation of different library versions

This PR changes the behavior of codegen so that symbols for conditional
compilation are generated. These symbols have the form:

#if V_1_2
	<code>
#endif

where V_1_2 would indicate version 1.2. The same goes for deprecation warnings:

#if V_1_6
	[Obsolete]
#endif

Currently, the conditional compilation symbols are generated for
methods only.