Another question though, if say I first develop my game in the free version of unity, but in future decide to upgrade to pro, would it be easy to convert over? or would it almost feel like reprogramming the entire game in a different engine?
This question brings up another issue with Unity3D that hasn't been mentioned yet. The compatibility between versions is horrific. Your scripts are always safe and can be backed up and transitioned over to another version of Unity3D, however the data storing what script is on what and where that texture is or this collider gets lost in the transition.
Worst case scenario, you have to manually reattach (From your memory) each component.
However, transitioning from pro version and free version as long as they are the same decimal version (2.5 or whatever it is right now) should be fine.
Unreal has great graphics capabilities, but it has a very steep programming learning curve if you aren't already proficient in that area.
Unity3D is great at showing results straight away and has extremely good documentation. The compiler(MonoDevelop) makes things a breeze too. The main downsides are the expensive licenses for anything other than web or standalone windows free edition.
If you have little or moderate experience in game creation I would recommend Unity3D. If you are quite proficient in programming and want the better rendering engine, unreal is probably where you want to go.
These are just my opinions however, and are by no means 100% agreeable upon.
Would it be able to make a handle fast-paced third person action game that is heavily scripted? (I am not too familiar with unity myself other than some suggestions ive read from forums threads, my original impression of unity was that it was a game engine for iOS)
Unity is very good at being diverse. Almost any game you can think of can be created in it. I suggest having a look at the website showcase and forum posts. That will help you see whether Unity3D is worth your time or not.