added single neighbourhood search
updated search javadoc
refactored random search (for testing)
no improvement if move is null
refactored search tests
create algo package with description
updated neighbourhood search javadoc
implemented random descent