Reorganization and addition of a dispatch_once macro

Also copyright updated :+1: