Find hotels in Fredericksburg, VA from $51