Add new select syntax

Select can now accept `*args` and will throw for a combination of a list and `*args` as discussed in #22