Added dict.__new__ accepting list/dict + tests

Also fixed __getitem__.  Previously was using d->[key] which
would place a NULL value for the key if the key didn't exist,
which [wc]ould cause subsequent calls to segfault.

I don't like having to check between list and tuples when iterating.  Have you considered a 'generic' iterable interface that all iterables would support (ala CPy?).  It may be there and I missed it.  Please advise.

Thanks!