Make vec!() macro create a vector with precise capacity

This seemed like a small but obvious optimization.  Feedback questions:

- Is the count_args!() macro a good fit for libstd?  It seems like it might be generally useful for macro writers.
- I can add a few unit tests, but where should I put them?
This pattern looks weird, shouldn't it be `($e:expr, $(e_rest:expr),*)`?