2) I think your solution is correct. However, by making the argument somewhat more constructive, we can make the solution feel more rigorous (and see why the no three conlinear thing applies) IMO. This applies for especially when you choose your initial line.
Choose an outermost point from the 2015 points. Now choose a line that goes through this point, hence divides the plain to one side containing 2014 dots and one side containing none. If this can't be done because the chosen line runs through a second point such that the dot-holding side ends up with 2013 dots, then slightly rotate your line such that the second dot falls within the dot-holding half. Now if there were three point co-linear to our chosen line, we would to come up with something else, but the question explicitly prohibits the possibility of such a situation.
Now, start turning our line, we will along our turn, sweep across dots. Never will we sweep across 2 dots at once as no three dots are colinear. Keep sweeping untill we have crossed 1006 points. Now we will always be able to slightly move our line from our outermost initial point such that it falls into one half. This follows from considering the fact there is no smallest real number.
Now the rest of your argument applies.
1) You may be wondering why I brought up all this. Well, you could have many dots be colinear, and many sets of 3 dots be colinear; and I pretty sure you would always still be able to divide the dots into 1008/1007, but the algorithm/process of dividing the plane becomes more tricky and arduous. In the algorithm we formed above having 3 points be conlinear would potentially create some problems. Essentially, since we are being so abstract about the process of line creation, we would have to provide arguments for what happens if our partially arbitrarily chosen point and line ends up creating a problematic case.
So the condition with no three conlinear poitns makes the task simply easier, its not necessary for the division of the plane.