First pass at making BaseDict and BaseList work like their native counterparts

Python's `dict()` takes one arg and optional kwargs; similarly with `list()`. The existing `BaseDict()` and `BaseList()` constructors break that signature. This is first pass at getting it working for the simple case of passing in a single arg.