Restarting should just start the server if one isn't already running.

Summary: I think this behavior is more convenient. It would have made testing
the saved state behavior easier, for one. Also, things like `service` on Linux
operate the same way.

Reviewed By: @elgenie

Differential Revision: D1704053

Signature: t1:1704053:1416995526:7d02ea3d138445566fb38dc9aab3c73a15b809de
Break up macros.h

Summary: Moved parts of macros.h to object-data.h, resource-data.h,
type-string.h, and a new classname-is.h that just has the guts
of the CLASSNAME_IS macro, which is still shared between concrete
objects and resources.

Reviewed By: @alexmalyshev

Differential Revision: D1706380

Signature: t1:1706380:1417030686:28ddcb5a815e5fbb79295ed8fb02e37508d3c8e9