Implement vec_basic and related functions

In particular: eq, compare and printing
vecs_equal -> vec_basic_equal
dicts_equal -> umap_basic_int_equal
Rename *_equal to *_eq
Rearrange functions
Fix FunctionSymbol::compare()
Initial implementation of the Derivative operator

Tests will be added in subsequent commits.
Add a test for Derivative
Implement f(x).diff(x)