add pledge tests, nested new pledge controller, add email unique validation, DRY up form errors to seperate partial