I see nothing odd or unusual about what they asked. They were basing the time estimate on the average student they have had in the past. If the rest of the app is not yet ready, of course they need it backed out or other stuff will break. You probably impressed them with being able to do the task at all (honestly you should see the total lack of ability many co-ops have).
You are also being judged on attitude even more than performance. If you come across as the smart kid who thinks he is better than any of the experienced developers, I guarantee you won't get good grades or much to do. Juniors are expected to take direction well especially if they disagree with it. So be eager, make sure that your boss knows when you finish something and make sure to ask for more, but don't come across as disapproving of them or their process or act as if the tasks you are being given are menial and beneath you. It can be a real balancing act, but performance in the work place always is.
You have to look at things from their perspective, you are a co-op, you aren't going to be there very long and someone else will have to support what you do. What incentive do they have to give you the more interesting stuff? This is a normal part of being the most junior, most expendable member of a team. You are most junior, you are going to get the most boring tasks. How you handle it is part of how you are evaluated in order to get the more interesting tasks. As a co-op you probaly won't progrees to really interesting as they know you are a temp. But learning how to be junior and to impress your supervisors while doing dull tasks is part of what you are there to learn (work isn't all about techology).
Aa a government office, I'm sure the project is large and complex. When you finish a task and until they give you another one, take time to investigate the current code in depth. This will help you immeasurably when you go to a non-co-op postion as you will earn how to understand the current system which will get you up-to-speed faster. If in doing this you see things that can be optimized, suggest a chnage. Wait until you understand the whole system first (or enough of it to truly know how hard it will be it integrate the change with the rest) and ask why they did it that way, you may be surprised at the answer, there are many constraints in developing software you are not aware of yet.
Ask your boss if there is something they have always wanted to have but have never been given the time or money to build. You can work on that when you finish something early and there is no new task yet ready for you. If you don't get it done in your co-op period, they haven't lost anything and you will have learned alot by trying to build it. If your boss won't give you a side project like that to work on, then decide what you personally would like to have if you were working there permanently and work on building that (do not do that during work hours though unless you have truly run out of work and asked for more but not received it, working on something unoffical because it is more interesting than the actual tasks you were given is a sure way to get shown out the door.)
And yeah, do the unit test advice. I think you will be surprised to find out how much you can learn about design, development and requirements from doing unit testing.
Another thing you can do is sit in on any code reviews you can. You can learn from what the more senior people see and you get exposed to a lot of code. If code reveiws aren't a part of your process, nothing is stopping you from asking for them from senior developers on whatever code you write. The more junior you are them more important it is to your development to start to see the perspective of the more senior people.
In a place where the seniors are good, they will ask a lot of questions about things that may have never even crossed the mind of a junior person. This is how you learn to start considering those things. For instance , in the example you gave, you did a task and then loaded it up to the project and then it had to be taken out becasue other parts weren't ready. Did you even consider if you should have asked how your code might impact other parts of the development process? If you didn't think of that, will you think of it next time?