Fixed problems with placing atmos machines connecting to the wrong thing.

* Fixed #242 and #292, at least for the main tests as interpreted (and definitely fixed problems that were even obvious just from the code).

 * The main problem was the machine would get spawned pointing south, and then rotated and initialize() would be called to update its connections. This was directly contrary to initialize()'s implementation which returned if the machine was already connected. In fact, this seems to be the sole purpose and use of initialize() being a seperate proc, to update the machine connections, etc, so I changed the implementation to actually disconnect the old ones and reconnect it, rather than aborting.

 * Also, some machines randomly called the base's New() at the end of their New(), even though they assumed things that happened in the base's New() already happened, so I moved the New()'s ..() to the beginning on those classes.