Substation multifix MK I

First half of my multifix, should fix all known code errors. Also includes suggestions.

#6257 
This proc is really messy. If all you are doing is checking conditions that need to be met before taking action, then your code should be written in a style that reflects that. There's no reason to be nesting code in five levels of branching logic.

```
/obj/machinery/power/smes/buildable/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
	..()
	if(!open_hatch)
		user  << "<span class='warning'>You need to open access hatch on [src] first!</spawn>"
		return
	
	if(istype(W, /obj/item/weapon/crowbar))
		if (charge > (capacity / 100)) //Maybe them do it and then give them a really nasty shock if they try?
			user << "<span class='warning'>Better let [src] discharge before dismantling it.</span>"
			return
		
		if (online || chargemode)
			user << "<span class='warning'>Turn off the [src] before dismantling it.</span>"
			return
		
		if (terminal)
			user << "<span class='warning'>You have to disassemble the terminal first!</span>"
			return
		
		playsound(get_turf(src), 'sound/items/Crowbar.ogg', 50, 1)
		usr << "\red You begin to disassemble the SMES cell!"
		if (do_after(usr, 100 * cur_coils)) // More coils = takes longer to disassemble. It's complex so largest one with 5 coils will take 50s
			usr << "\red You have disassembled the SMES cell!"
			var/obj/machinery/constructable_frame/machine_frame/M = new /obj/machinery/constructable_frame/machine_frame(src.loc)
			M.state = 2
			M.icon_state = "box_1"
			for(var/obj/I in component_parts)
				if(I.reliability != 100 && crit_fail)
					I.crit_fail = 1
				I.loc = src.loc
			del(src)
			return 1

	else if(istype(W, /obj/item/weapon/smes_coil) && !(istype(src, /obj/machinery/power/smes/batteryrack)))
		if (cur_coils >= max_coils)
			usr << "\red You can't insert more coils to this SMES unit!"		
			return
		
		usr << "You install the coil into the SMES unit!"
		user.drop_item()
		cur_coils ++
		component_parts += W
		W.loc = src
		recalc_coils()
		return 1
```