feat(router): add optional HTTP to HTTPS redirect

replaces #2635 
doesn't ELB accept a range of status codes? If so, we can make it accept between the 200-300 range and this should satisfy the requirement.