Atmos Overhaul - Phase 1

So this originally started out as a project to add omni devices (user configurable gas filters and mixers), but after seeing [this PR](https://github.com/tgstation/-tg-station/pull/3611) on /tg/ I've decided to take this project a step further and aim for the same thing.

While this PR is no where near the final goal, I did use it to prototype a number of things that will be needed for the rest of the overhaul (icon caching, overlays, pipe colour standardization, etc.).

### Features
Adds omni devices. These are user configurable gas filters and mixers that can have inputs/outputs on any side. They dynamically generate their icon via overlays sourced from a shared image cache. They visually connect to pipes and will colour the connecting icon appropriately. If a pipe is painted later, the omni device can be clicked on with the pipe painter to update the connected pipe ends. All inputs and outputs can be configured to any direction.
##### Gas Mixers
> These can have either two or three inputs, and one output. The input ratios auto balance, and are lockable to stop auto balancing if so desired. If an input is balance locked it will attempt to balance all remaining unlocked inputs (if any). 

![Omni gas mixer](https://cloud.githubusercontent.com/assets/6357112/3385228/9647994e-fc67-11e3-876f-5578c591aa26.png)
##### Gas Filters
> These have one input, one output, and either one or two filter outputs. The following gases can be filtered: Oxygen, Nitrogen, Carbon Dioxide, Phoron, and Nitrous Oxide. The filter will stop if any of the outputs reach the target pressure.

![Omni gas filter](https://cloud.githubusercontent.com/assets/6357112/3394372/659bf192-fcde-11e3-96ac-b25d4f30207f.png)

They are configured through a NanoUI interface:
![Omni gas mixer interface](https://cloud.githubusercontent.com/assets/6357112/3385263/28ad4bda-fc68-11e3-8e7a-039da9c88d6c.png)

They can be mapped in by setting the "tag_*direction*" (*i.e. tag_north*) variables to one of the following filter names (or numeric codes) in Dream Maker:
```
Mode		variable name	numeric code
Disabled	ATM_NONE		0
Input		ATM_INPUT		1
Output		ATM_OUTPUT		2

//The following will only work on the gas filter
Oxygen		ATM_O2			3
Nitrogen	ATM_N2			4
CO2			ATM_CO2			5
Phoron		ATM_P			6
N2O			ATM_N2O			7
```
Mixers can have their starting concentration ratios set by setting the "tag_*direction*_con" (*i.e. tag_north_con*) variable. This needs to be set to a decimal of the percentage you want (i.e. 0.5 for 50%). Players can manually override this in game by changing the concentration in the UI.

### Other Fixes
- Cleans up silent pipe deleting (now creates a loose pipe item where the pipe section was)
- Allows pipe painters to paint pipes that have one end disconnected
- Removes OOC message from IC feedback when a pipe has nothing to connect to