Made creating ConcreteBlocks safer.

Instead of supplying an extern fn, a simpler native rust fn is supplied
and the BlockArguments trait is used to get an extern fn that wraps it.