Migrate to setuptools if installed.

Provides more installer commands such as the ever helpful develop mode.
Ignore build products.
diff --git a/.gitignore b/.gitignore
index 1309151..67619b3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,7 @@
 *.pyc
 *.pyo
 documentation/_build
+build
+dist
+*.egg-info
 
diff --git a/CHANGES.rst b/CHANGES.rst
index 6e2a98b..15427ef 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -521,6 +521,7 @@
 - update links to point to github
 - [Patch pyserial:34] Improvements to port_publisher.py example
 - [Feature pyserial:39] Support BlueTooth serial port discovery on Linux
+- Use setuptools if aviliable, fall back to distutils if unaviliable.
 
 Bugfixes:
 
diff --git a/setup.py b/setup.py
index 50493f2..69331e7 100644
--- a/setup.py
+++ b/setup.py
@@ -11,8 +11,10 @@
 
 import sys
 
-from distutils.core import setup
-
+try:
+    from setuptools import setup
+except ImportError:
+    from distutils.core import setup
 
 # importing version does not work with Python 3 as files have not yet been
 # converted.