Merge pull request #1 from ajbennieston/master

Update Makefile
Make class names begin with an initial capital.
Various changes to the Job class.

* Move State enumeration inside the Job class and make it a
  strongly-typed enum (C++11 feature)
* Update State enum. names to be title case
* Move private members to end of class definition
* Add name to constructor parameter in the header file
* Mark accessors as const member functions
* Simplify return expression of Job::moveable()
* Use constructor init. list
* Fix indentation
Various changes to class Machine.

* Move private members to end of class declaration
* Fix indentation
* Use reference-to-const parameters
* Use reference-to-const return types for accessors
* Mark accessors as const member functions
* Use constructor init. list
Various changes to class Pool.

* Fix indentation
* Move private members to end of class definition
* Use reference-to-const for parameters
* Add <utility> to list of includes in pool.cpp (for std::make_pair)
* Use std::make_pair(x1, x2) instead of std::pair<T1, T2>(x1, x2) to
  avoid duplicting type information
* Use const and ref-to-const to store temporary references to variables
  used in streaming expressions.
Update schedule.cpp to avoid ending up with local copies of data.

The (old) variables first_job, second_job, first_machine, second_machine
are _copied_ when inserted into the machine pool. Leaving local symbols
for them in the main() scope could lead to them being manipulated later
(as in line 18) but those manipulations would not affect the copies in
the machine pool.

The real issue should probably be solved by either
[1] storing shared_ptr<Machine> and shared_ptr<Job> in the pool and
    allocating the objects through new
- or -
[2] adding a mechanism to the Pool class to obtain non-const references
    to the machines and jobs contained.
Merge pull request #2 from ajbennieston/misc-changes

Miscellaneous changes and improvements
Add machine name to job
Add job list to machine
Add add_job to Machine
Add name to add_job param
Add get_machine to Job
Add new jobs to their machine if available in the pool