Subdivision Surface Causes Spaces
Go into edit mode with tab, and then press W, and select remove doubles. The reason this is happening is that the differnet faces of the mesh are not actually connected, so by removing the vertecies in the same position you connect them. 

If it doesn't instantly work, try increasing the distance in the right hand toolbar.

Also, it looks like you need to press ctrl+n to recalculate normals.