Make PlannedNode class extendable.

The PlannedNode class in NodeProvisioner was marked as 'final', but there
is utility is allowing to be extended (specifically where the EC2 plugin
wants to keep track of nodes that are pending but not alive yet in order to
manage instance count caps). In addition, for subclasses to be able to know
when NodeProvisioner no longer needs an PlannedNode instance, the 'future'
member variable has been changed to a getFuture() method which can be overridden.