Use runtime dispatching for argument exploding

Currently Boo does only allow the following use of the explode arguments operator:

    def bar(a, *args)  
    # bar(1, *(2, 3)) 

The following changes allow to have a more powerful exploding operator which works like the one in Python. The drawback is that it uses the runtime to actually dispatch the call, with a bit more work the original use case supported by Boo could bypass the runtime dependency but it's not worth the effort IMHO.

    def foo(a, b, c)
    # foo(1, *(2, 3))
    def bar(a, *args)
    # bar(1, *(2, 3))
    # bar(*(1, 2, 3))
    # bar(1, 2, *(3,))
    # bar(1, 2, 3)

NOTE: No unit tests yet, I'll provide them if you think this could actually be merged. :octocat: