Interesting hacks around how params could be formalised

Probably some over-complication, but fun over-complication. Would
be nice to suport the commented out syntax, but that would involve
some really over-complicated macros.
Cleaned up IntExtractable
Removed needless dependency
Broke out PackageType and ported S3. More to do.
Added AutoScaling
Added WebApp with new PackageType
Added FileCopy.

Not called File, as that clashes with io.File which would be messy
Added Django package type
Added Fastly package type
UnzipToDocroot PackageType
Move over to using new PacakgeType

and fix all the tests which now seem slightly more sane
Rename PackageType to DeploymentType

I think these are really the recipes, but I'm too late for that
Back out upgrade to 2.10.2

It's not necessary for this pull request and it breaks assembly.
Should be revisited.
Revert "Rename PackageType to DeploymentType"

This reverts commit 33e187692752db8eb1403ffbcc6a3478837d3a04.
PackageType => DeploymentType

I'd prefer DeploymentRecipe, but that's taken
Merge pull request #132 from guardian/pw-param-hacking

Make DeploymentType née PackageType an object instead of a class