Certain 'statsy' types mean a publication should be limited by default

Publication#set_access_limited now relies on the presence of the publication_type before deciding if the new publication is access_limited or not.  Have overridden the publication_type and publication_type_id setters to call through to set_access_limited as well.  It does mean that access_limited would be set to nil (which is invalid) if you tried to save a new instance without a publication_type but it's invalid for a publication to not have a publication_type so it's ok.
UI so that new publications get access limited based on type

Put back in JS to watch the publication_type select and do something to the access_limited checkbox if the chosen type says it should be access limited by default.  Only for new objects.