RFC: new lifetime elision rules

[Rendered](https://github.com/aturon/rfcs/blob/lifetime-elision/active/0000-lifetime-elision.md)

Note: the core idea for this RFC and the initial survey both came from @wycats.
A by-value arg is not a lifetime position, so the following is legal?

    fn foo(a: &str, b: int) -> &str

That is, it would possible to use multiple args and still have the lifetimes elided, right?  I think the answer is yes but it's not shown in these examples.