Got user ship placement function working. Seems to work and respond correctly for standard
invalid cases. Should be solid as long as someone doesn't somehow blow absolutely
everything up.