Freeze, New Attack Features

In an attempt to make programming attacks more exciting, we have made some fixes to the attack logic.

1) You can now initialize your own attacks if, for instance, a finalize was not run, or switchAttack() is used.
2) There is now a minimum length of an overheat, to make fire walls more powerful, and to make reconnecting attacks a more viable option.
3) The level 65 attack function freeze() has been added, calling this method causes the round of attacking to cause no damage, but causes the port that was frozen to become un-useable for a ten second period -- this is great to use in association with switchAttack().

Enjoy the updates