Provided better error for unit hosting on state server.

http://reviews.vapour.ws/r/174/

Added 2 tests to exercise additional paths - TestAssignStateServerNonLocalCannotHostUnits and TestAssignStateServerLocalCannotHostUnits.
Please add a comment here along the lines of
    // TODO(anastasiamac) 2014-10-20 #NNNNNN
    // This exists to provide more context to the user about
    // why they cannot allocate units to machine 0. Remove
    // this when the local provider's machine 0 is a container.

where NNNNNN is the ID of a new bug in launchpad tagged "tech-debt".