implementation of initial_scale service option (issue #116)

Implementation of the initial_scale service option discussed in option (issue #116). Initial scale is applied whenever the containers for a service are newly created, ie. on "fig up" or "fig up --no-recreate".

Signed-off-by: Emil Kroymann <emil.kroymann@gmail.com>
I think this validation should happen much easier. For one, it's duplicated in two places right now, which is not good.

This feels more like configuration validate code, which right now is done in the constructor for `Service`.  You'll have to change `can_be_scaled()` slightly to accept the options as a param (instead of using `self.options`), but that should be fine (you could even move the function off the class if you wanted to, since `self` wouldn't be used any more).


I also noticed there's a bug in `can_be_scaled()` that will return True if the external interface is specified but no external port (it should really return False in that case) , but I guess that can be fixed later if you wanted to leave it for now.