Generally RFCs are for going into talking about implementation. Sometimes its wise to create a topic in the 3.2 (or 4.0) dicussion forum to get some general feedback before posting an RFC.
If someone can provide a patch for an RFC and submit it before 3.1 reaches alpha then it will be included in 3.1 even if it was posted now. The feature freeze only applies to the RFCs that have to be completed for 3.1. Developers only work on the features for the next piece of software on the RFCs posted before the feature freeze (generally, there are some exceptions).
As Arty said, posting an RFCs provides use-cases, pro's, cons and if you can suggestions for implementations. Even if you don't post an implementation on how it can be coded, you can post it on how it might work front end. Quite often even coders do this, talk about front-end, decide what their doing then talk about the backend.
Once you've made an RFC you can make a ticket on the tracker. This is important as this is the place to provide a patch if you have one or if you can use github, then you need to call your branch and commit message after the ticket ID.
Once you have made a ticket and got an RFC with some feedback then you can go and post a patch (if you know how, i'm just documenting the full process). To submit a patch directly into the repository you need to learn git, if not then post it in the RFC or tracker and a developer (or another community member) will submit it too the repo.
You need a github.net account, if not then you need to register. Then you fork the phpBB Repository. Then you make your changes in a new branch locally (called ticket/TICKETID), commit then with the commit message template:
[ticket/TICKETID] Short description of what you did in the commit
/new line, you don't need to include this text.
Then push to your branch to your local repository.
Open up your branch on github, then click the pull request button.
Then type in the ticket URL in the Pull Request (PR) description.
Then copy the url for the PR and post it as a patch URL in the tracker ticket.
Then wait for a developer to come and comment on either the ticket, or more likely the pull requests with any changes.
Then make the changes, the pull request will automatically update to include changes in that branch.
Then if the developers think your patch follows coding guidelines etc. it will be merged into the main repository.