Implement support for custom functions

Added backend to parse user-defined functions in equation-parser.vala
Added gtksourceview-3.0 dependency used for auto-completion
function-manager.vala deals with function operations in general
math-function.vala contains operations on individual functions
Added test-cases in test-equation.vala

This patch is a result of 41 commits.
The repository with complete commit history is hosted at https://github.com/garimajoshi/calculator
Fixed precedence and related bugs