I finished it. Everything is working now.

The program works correctly now. It can solve a Rush Hour puzzle, and
then show the solution (in order from end to beginning).

Changes made:
- Added method to clone a board.
- Completed BFSearch class.
- Disabled automatic naming of a vehicle (Because a different name was
given to the vehicles each time when copying a board).
- Added a method the State class to get the parent state.

Maybe I'll add a nice GUI later.