Atomic Scale Control of Semiconductor Surfaces from Solution