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?
That doesn't work with one argument i.e. `count_args!(foo)`.