[SPARK-2179] [SQL] Public API for DataTypes and Schema (Draft update for SQL programming guide)

This is the draft update for SQL programming guide. It adds doc for the data type and schema APIs. You can access it at http://yhuai.github.io/site/sql-programming-guide.html. 
@davies told me that we only accept tuples or lists as values of `StructType` for`applySchema`. We need to finalize what are acceptable value types before the release. https://issues.apache.org/jira/browse/SPARK-2854 is used to track it.