Semi-big changes, refactoring and .net fw version

* Lowered framework version from 4.5 to 3.5
* Removed the System.Threading.Tasks namespace because I wasn't using it
anyways
* SmaliClass doesn't take the semicolon in account now in ClassName
* REFACTORED the whole SmaliLine/SmaliMethod/SmaliVM classes. Now, it
works this way: VM acts more like a virtual machine now. It holds a
stack and smali lines push and pull stuff from it. The VM also holds a
Java buffer which will dump on each .line or end-method directive. This
buffer works for when you have to do lots of stuff inside a single Java
line. (var1 = new class(blah, blah);, for example).
* Now methods are, well, methods too in C#. Look at the
SmaliVM/SmaliDirectives and SmaliInstructions classes.
* Generalized a few more functions.
* There is now a function which will generically parse smali function
calls and assignments and convert them to Java on-the-fly if needed
(SmaliCall).