initial commit

includes LazyEquatable<T> and a factory class Lazy