List promises

This adds promise type functionality to lists.  So you can check if a `list.isResolved()`