too many args to [] shouldn't throw an error

Discussion: http://arclanguage.org/item?id=17558
Uses a lesser-known feature of make-br-fn.arc: '__ is a rest arg.
  https://github.com/nex3/arc/commit/fb7427df7d
better name for lastcdr: lastcons
cleaner []
some unit tests
support improper lists in find
.
support improper lists in mem
support improper lists in 'some'
now pushnew works like push always did:

  (let x 3 (push 2 x)) => '(2 . 3)
simpler make-br-fn using all this improper-list support