default! macro for Rust

example:

``` #[derive(Default)] struct Foo { a: i32, b: f64 }

default!(Foo{}) // Foo { a: 0, b: 0.0 }
default!(Foo{a:1}) // Foo { a: 1, b: 0.0 }
default!(Foo{a:1,}) // Foo { a: 1, b: 0.0 }"
default!(Foo{a:1, b: 1.0}) // Foo { a: 1, b: 1.0 }"

```