Be more intelligent about names in expressions

Fixes #2
List.to_string() should always give native strings
Actually build the binding with the default make target
Allow easy unpacking of void as string as well
Fix getting extensions via ExtensionKey