Simplify table column format definition?

Following discussion in #2896: Currently, column formats can be set by either giving a string or a function [1], with the string an old or new-style format, e.g., `'%5.2f'` or `'{:5.2f}'`. It would seem more logical if the user would not have to care how typesetting is done in python and could just give the actual format specifier (i.e., just `'5.2f'`). This would leave the string format very simple, equal to what one would guess with the most careless thought. It would also be easy to describe in the documentation, as it would just be equal to what needs to be passed in to the `format` function. Specifically, in `pprint._auto_format_func`, one would the format function would be defined as
```
lambda format_, val: format(val, format_)
```
instead of the current
```
lambda format_, val: format_.format(val)
```

If the above makes sense, I'm happy to turn this into a PR. @taldcroft?

[1] http://astropy.readthedocs.org/en/latest/table/construct_table.html#format-specifier
Capitalize comments please.  :smile:  Also maybe more clear comment would be:
```
# If the user supplied function properly handles formatting masked elements then
# use it directly.  Otherwise fall through to the code at the end which will wrap it
# in a function that traps masked values first.
```