Adds four packages

These are some packages I've been working on over the last couple of weeks.

**FunctionalCollections**: functional and persistent data structures (a vector, hash map, array map, and set).

**FunctionalUtils**: common functions from functional languages.

**ExpressionUtils**: a small set of utilities for working with the `Expr` type.

**ValueDispatch**: function dispatch on value.