Add HasAncestors mixin

A simple mixin that provides some facilities for object having
a parent. The property giving access to the parent can be
defined with the `through` option.
Extract case values into constants
Adds HasAncestors documentation
Adds Aliasable mixin
Add HasCollection mixin
Updates documentation and js files
Adds HasNestedCollection mixin