Changes faction to list

-Changes factions to list because single factions are dumb and clunky, if you're in at least one of the same factions as the hostile mob, it will ignore you, IE: If you made a mob that was "syndicate" and "neutral" it would ignore people with either "syndicate" or "neutral" in their faction list, but create a mob that just has "syndicate" and it will ignore just syndies while attacking neutrals. This is to stop you from hunting down Nook Ops with Lazarus/GoldSlime/MiningDrones
-Removes the attack_faction from hostile mobs because it wouldve made another list search necessary and nobody uses it anyway
-Makes nook ops both "neutral" and "syndicate" so that mining bots/lazarus mobs/blood slime mobs ignore them, but viscerators do too
-Changes Goats to "neutral" but gives them attack_same = 1, so that the great Mining Drone / Goat wars stop, functionality is otherwise unchanged
-Changes Trees and Bats to "hostile" faction because they were just copypasta'd carp entries and had the "carp" faction as a result

Fixes #3992 
Fixes #2900 
Fixes #4173 
I believe you could split it and make the one of the checks be first, then the other, which should work the same way no matter which way you layer them.