All edition types can be access limited

Make access_limited a non-nullable column and update all NULL values to false.  Remove can_limit_access?, but allow for models to declare at the class-level if they prefer new instances to be limited by default or not.
Update views and functional tests for access_limit behaviour

Always show the access_limit checkbox on editions and provide a should_allow_access_limiting_of macro for functional tests.  Deleted a bunch of the statistical_data_set_controller tests as they were testing the default behaviour of attribute assignment and view helpers around access_limit.
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.
Merge pull request #162 from alphagov/all_editions_can_have_limited_access

All editions can have limited access