don't return nil patch version in to_s

Chef cookbook metadata requires supports version in the form of x.y,
ridley errored out if the supports version was not in the form of x.y.,
which is not supported by knife.

only include the patch version if it is not nil, to avoid the returning of
x.y., return x.y instead
add specs for previous commit
Merge branch 'bhouse-master'