Update DataFrame.to_latex() to have more flexibility
The simple library `matrix2latex` has a lot of functionality packed into a single function. I think capturing some of those features in the current `DataFrame.to_latex()` method would make  `to_latex()` much more useful. 

The flexibility I am talking about is being able to do these types of things: 
- pass in arbitrary environment names
- specify the justification of each column (as well as vertical rules between them)
- natural handling for latex symbols like `\infty`
-  insert captions and labels into the tabular environment
