Cleaned up AST.h.

* Added some regions make the code easier to work with.
* Moved related things together.
Switched from llvm::OwningPtr to std::unique_ptr since LLVM removed it.
Added documentation for building under Linux.
Added support for default values of parameters.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>