Fixes some SMESs on station which had wrong type

- Atmospherics, north solar and outpost SMESs remapped to be of /smes/buildable type instead of /smes/ which can't be upgraded and/or disassembled.
- Added warning which shows in the log when non-magical or non-buildable SMES is mapped in/spawned. This should *hopefully* remind mappers that regular SMESs are not suposed to be mapped in unless specifically needed.
SMES Failure logging + small fix

- SMES failures are now logged, including position of SMES, user and intensity of failure (from 1 to 100). Also included is JMP button.
- Instead of using ugly long string nice proc ping is used.
- Fixes issue with SMES overloads almost never causing APC failures.
I forgot a thing
- Or seven, to be specific. Replaced SMESs for buildable types at: Asteroid (i thought i already did that,..), Engineering construction station (engine section apparently had four SMESs in it)
Merge branch 'master' of https://github.com/Baystation12/Baystation12 into buildable-smes-fix
Merge pull request #7137 from atlantiscze/buildable-smes-fix

Buildable smes minor changes
Implant cases

- Adds freedom implant in glass case variant
- Changes implants created from protolathe to variants in glass cases
Research object update

- Updates research testing object to include phoron and engineering tech
Encrpytion!

This misspelling was about to drive me insane.
Fix num2hex()'s handling of zero
Merge pull request #7250 from GinjaNinja32/num2hex2

Fix num2hex()'s handling of zero
Update implantcase.dm to absolute paths
Implantcase cleanup

- Removed unnecessary icon definitions
- Cleaned up name formatting
- Removed colons
- Added variants for existing implants
Fix for #7232.
Fix for #7204.
Merge pull request #7254 from Segrain/master

Bugfixes.
Makes forced launch handled by shuttle/process()

Forced launches are now run by the shuttle controller through process()
instead of in a separate 'thread' launched from the ui.
Fixes #7238
Fixes atoms with no flags being walkable

Fixes atoms that have no flags set allowing movement into them
regardless of CanPass().
Refactors a lot of reused/redundant death code, fixes #7224
Amendments to previous commit.