Fix the captive portal rules after 98bf4991dc31f97fc7315a6b8aba433de9d39cea.
The malformed rules breaks the parsing of initialisation rules.
Issue: #4746
Only need to check 'vip' here.
Can't use continue here as it continues the foreach, which skips the "ipfw zone" command, breaking CP for any system that doesn't have VIPs defined.
For captive portal, if a user reloads index.php of the portal while already logged in, show the logout page instead if it's custom.
Must be a custom logout page that does not include a redirect.
Move main pfSense content to src/