operators: Extended the set of algebraic operators

Created the generate_random_tree function, which has a few algebraic
operators to work with.
unit_tests: Extended the unit tests

Added tests to cover basic functionality of every node.
module: Increased accessability

Made certain functions, and variables accessible directly through the gp
module.