Switch to unique_ptr as return type across the board.

Makes managing things well easy. If you want to use debug view
only and not have fine-grained control, either add by using the
b2World directly or ::release() the unique_ptrs().
Using emplace_back rather than push_ for modernity.