[SQL][WIP] Visualizing query plans with graphviz

Implicitly adds a method `.viz` to all trees that builds a png using graphviz.

For example:
```scala
sql(""""
  SELECT a.value 
  FROM src a JOIN 
       srcpart b 
  WHERE a.key = b.key AND hr = 1""").queryExecution.optimizedPlan.viz
```

![queryplan7690500953161842945](https://cloud.githubusercontent.com/assets/527/4231604/16f7d7a8-3993-11e4-89c3-a918b2a0b3b1.png)