ESC or Brushless DC Motor Controller, what's the difference?

I'm looking into building my own drone using a microcontroller, I want to use a brushless motor. I know you need a motor driver (controller) to control motors, but for brushless motors I had electronic speed controllers (ESC) come up in my research.

1.What is the difference between an ESC and a brushless motor controller?

2.How would they connect with my microcontroller? 

3. Are they both capable of running the motor in the oposite rotation?

Here is the ESC I looked at:

https://www.robotshop.com/en/lynxmotion-12a-multirotor-esc-1a-bec-with-connectors.html

Here is the brushless motor controller I looked at:

https://www.robotshop.com/en/veyron-5a-brushless-motor-controller.html
 

Any suggestions of ESCs/motor controllers to use will be greatly appreciated.