Include zebra striping on page load before JavaScript

This removes the table's occasional white flicker
when the page loads.
Shorten a few lines longer than 120 chars
Fix small edge case bug on lone()

If security group stops existing, use loneOrNone()
to get null instead of lone(). Otherwise there's no
reason to use null safe operator on the next line.

Also, remove unnecessary null safety on "result".
Remove unused methods
Make ‘tcp’ a static variable for re-use
Better GroovyDoc comments
Unit tests for portString() method
ASGARD-923 - Only one auth-revoke task with many IP permissions for each security group pair change

Refactored and enhanced the Security Group permissions authorization and revocation code so that, for each relationship between a target-source pair of Security Groups, Asgard will:
Combine all IP permission authorizations into one Amazon call
Combine all IP permission revocations into one Amazon call
Combine all authorization and revocations into one Asgard task
Remove unused import
Merge branch 'ASGARD-923-only-one-task-per-security-group-change'

* ASGARD-923-only-one-task-per-security-group-change:
  Remove unused import
  ASGARD-923 - Only one auth-revoke task with many IP permissions for each security group pair change
  Unit tests for portString() method
  Better GroovyDoc comments
  Make ‘tcp’ a static variable for re-use
  Remove unused methods
  Fix small edge case bug on lone()
  Shorten a few lines longer than 120 chars
  Include zebra striping on page load before JavaScript

Conflicts:
	test/unit/com/netflix/asgard/AwsEc2ServiceUnitSpec.groovy