gitignore updates, defensive code when used in non-arc, 64 bit compatibility